CN112887256A - Object tracking method, device and computer readable storage medium - Google Patents

Object tracking method, device and computer readable storage medium Download PDF

Info

Publication number
CN112887256A
CN112887256A CN201911201522.7A CN201911201522A CN112887256A CN 112887256 A CN112887256 A CN 112887256A CN 201911201522 A CN201911201522 A CN 201911201522A CN 112887256 A CN112887256 A CN 112887256A
Authority
CN
China
Prior art keywords
feature
hash
features
weights
server
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.)
Pending
Application number
CN201911201522.7A
Other languages
Chinese (zh)
Inventor
胥皇
单卫华
殷晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911201522.7A priority Critical patent/CN112887256A/en
Publication of CN112887256A publication Critical patent/CN112887256A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An object tracking method, apparatus, and computer-readable storage medium are provided. The method comprises the following steps: the method comprises the steps that a server side obtains a characteristic instance of an object, wherein the object is a client side served by the server side, the characteristic instance comprises a plurality of characteristics with different data types, and the plurality of characteristics are used for indicating hardware and/or software information of the client side; the server side converts the data types of the multiple characteristics into the same data type to obtain the codes of the characteristic examples; the server side converts the codes of the feature examples into hash codes according to the weights of the multiple features, wherein the weight of each feature is positively correlated with the bit number occupied by the feature in the hash codes; and the server tracks the object according to the hash code. The technical scheme provided by the application can realize the tracking of the objects with different data types based on the Hash technology.

Description

Object tracking method, device and computer readable storage medium
Technical Field
The present application relates to the field of object tracking technologies, and more particularly, to a method, an apparatus, and a computer-readable storage medium for object tracking.
Background
In a server and a client architecture, in some applications, the server needs to track objects by taking the client as an object. In specific implementation, the server tracks the client according to the characteristic instance of the client. The client's feature instances typically contain multiple features of the client (e.g., may contain various software and/or hardware information of the client), and the multiple features differ in data type.
In order to realize fast tracking of an object, a possible implementation manner is to track the object by using a hash technology. However, in the conventional object tracking method based on the hash technology, the hash function is designed for the characteristics of one data type, and cannot track a client with a complex data type.
Disclosure of Invention
The application provides a method, a device and a computer readable storage medium for object tracking, which can process the characteristics of a plurality of different data types and realize the tracking of objects with different data types.
In a first aspect, a method for object tracking is provided, the method including: the method comprises the steps that a server side obtains a characteristic instance of an object, wherein the object is a client side served by the server side, the characteristic instance comprises a plurality of characteristics with different data types, and the plurality of characteristics are used for indicating hardware and/or software information of the client side; the server side converts different data types of the multiple characteristics into the same data type to obtain the codes of the characteristic examples; the server side converts the codes of the feature examples into hash codes according to the weights of the multiple features, wherein the weight of each feature is positively correlated with the bit number occupied by each feature in the hash codes; and the server tracks the object according to the hash code.
By converting different data types of multiple types into the same data type, the server can process the characteristics of the different data types, and the tracking of objects with different data types is realized.
With reference to the first aspect, in certain implementations of the first aspect, the encoding of the feature instance is a binary encoding.
With reference to the first aspect, in certain implementations of the first aspect, the encoding of the feature instance includes an encoding corresponding to each feature in the multiple features, and the converting, by the server, the encoding of the feature instance into a hash code according to the weights of the multiple features includes: the server side determines the bit number occupied by each feature in the hash code according to the weight of each feature and the bit number of the hash code; the server samples the code corresponding to each feature according to the number of bits occupied by each feature in the hash code to obtain a sampling result corresponding to each feature, wherein the number of bits of the sampling result corresponding to each feature is equal to the number of bits occupied by each feature in the hash code; and the server side combines the sampling results of the plurality of characteristics to obtain the hash code.
With reference to the first aspect, in some implementation manners of the first aspect, the sampling, by the server, a code corresponding to each feature according to a number of bits occupied by the each feature in the hash code includes: and the server randomly samples the code corresponding to each feature according to the bit number occupied by each feature in the hash code.
With reference to the first aspect, in some implementations of the first aspect, the weights of the plurality of features are updated according to a plurality of feature instances stored in a database.
With reference to the first aspect, in some implementations of the first aspect, the updating the weights of the plurality of features according to a plurality of feature instances stored in a database includes: determining new weights of the plurality of features according to a plurality of feature instances stored in the database, so that the distance between feature instances of the same object is smaller than the distance between feature instances of different objects, wherein the distance between two feature instances in the plurality of feature instances is a weighted sum of the distances of corresponding features in the two feature instances; updating the current weights of the plurality of features if the difference between the new weights of the plurality of features and the current weights of the plurality of features is greater than a preset threshold.
The current weight is updated in time by comparing the new weights of the plurality of features with the difference of the current weight, and the bit number occupied by each feature in the hash code is determined according to the weights of the plurality of features, so that the obtained hash code can adapt to the feature change of the object, the self-adaptive capacity of tracking is improved, and the tracking accuracy is improved.
In a second aspect, an apparatus for object tracking is provided, the apparatus comprising: the acquisition module is used for acquiring a characteristic instance of an object, wherein the object is a client served by the server, the characteristic instance comprises a plurality of characteristics with different data types, and the plurality of characteristics are used for indicating hardware and/or software information of the client; the characteristic coding module is used for converting different data types of the multiple characteristics into the same data type to obtain the codes of the characteristic examples; the hash coding module is used for converting the codes of the characteristic examples into hash codes according to the weights of the various characteristics, wherein the weight of each characteristic is positively correlated with the bit number occupied by each characteristic in the hash codes; and the tracking module is used for tracking the object according to the hash code.
By converting different data types of multiple types into the same data type, the server can process the characteristics of the different data types, and the tracking of objects with different data types is realized.
With reference to the second aspect, in certain implementations of the second aspect, the encoding of the feature instance is a binary encoding.
With reference to the second aspect, in certain implementations of the second aspect, the encoding of the feature instance includes an encoding corresponding to each feature of the plurality of features, and the hash encoding module is specifically configured to: determining the number of bits occupied by each feature in the hash code according to the weight of each feature and the number of bits of the hash code; sampling the code corresponding to each feature according to the number of bits occupied by each feature in the hash code to obtain a sampling result corresponding to each feature, wherein the number of bits of the sampling result corresponding to each feature is equal to the number of bits occupied by each feature in the hash code; and combining the sampling results of the plurality of characteristics to obtain the hash code.
With reference to the second aspect, in some implementations of the second aspect, the hash encoding module is further configured to: and randomly sampling the code corresponding to each feature according to the bit number occupied by each feature in the hash code.
With reference to the second aspect, in certain implementations of the second aspect, the apparatus further includes: and the updating module is used for updating the weights of the various characteristics according to the characteristic examples stored in the database.
With reference to the second aspect, in certain implementations of the second aspect, the data storage module is further configured to:
determining new weights of the plurality of features according to a plurality of feature instances stored in the database, so that the distance between feature instances of the same object is smaller than the distance between feature instances of different objects, wherein the distance between two feature instances in the plurality of feature instances is a weighted sum of the distances of corresponding features in the two feature instances; updating the current weights of the plurality of features if the difference between the new weights of the plurality of features and the current weights of the plurality of features is greater than a preset threshold.
The current weight is updated in time by comparing the new weights of the plurality of features with the difference of the current weight, and the bit number occupied by each feature in the hash code is determined according to the weights of the plurality of features, so that the obtained hash code can adapt to the feature change of the object, the self-adaptive capacity of tracking is improved, and the tracking accuracy is improved.
In a third aspect, a computer-readable storage medium is provided, comprising a computer program which, when run on a computer device, causes a processing unit in the computer device to perform the method of object tracking in any of the possible implementations of the above aspects.
In a fourth aspect, a computer program product is provided, comprising a computer program which, when run on a computer device, causes a processing unit in the computer device to perform the method according to the first aspect.
Drawings
Fig. 1 is a schematic diagram of an object tracking system architecture employing a hash coding technique.
Fig. 2 is a schematic diagram of an object tracking method according to an embodiment of the present application.
Fig. 3 is a schematic diagram of a system architecture of an object tracking method according to an embodiment of the present application.
Fig. 4 is a flowchart of an object tracking method according to an embodiment of the present application.
Fig. 5 is a schematic diagram of an object tracking apparatus according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some, but not all, embodiments of the present application.
Embodiments of the application may be used for object tracking, such as web browser tracking, tracking of mobile applications, and the like.
For ease of understanding, first, a brief description is given of an application scenario of the embodiment of the present application.
In a system with a master-slave architecture, such as a server/client, a server/browser, etc., the server generally needs to uniquely identify a client (or browser) according to hardware, software and runtime information of the client (or browser). The bodies served by a client, browser, etc. are collectively referred to herein as objects, and the hardware, software, and runtime information of the objects are referred to as features. During the operation of the system, the characteristics of the object may change, such as hardware configuration change, software upgrade, network connection change, and the like. After the object characteristics are changed, when the server receives the request of the object, the collected characteristic instances are changed. Under the condition that the object characteristics are variable, the server side still needs to overcome the interference of characteristic change and continuously and accurately track the object according to the characteristic example of the object sent to the server side.
When the object sends a request to the server and needs to be tracked, the server extracts features according to the data sent by the object, further performs similarity matching between the feature instance and the historical data, and if the similarity matching is successful, associates the current request with the historical request, namely, the target of tracking the object is realized. In order to realize similarity matching and fast tracking, the industry generally adopts a technical scheme that a database stores data and an index is used for accelerating query. Illustratively, fig. 1 is a schematic diagram of an object tracking system architecture employing hash encoding techniques. As shown in fig. 1, the object tracking system architecture includes an Identification (ID) retrieval and generation system 110 and a data storage system 120. The ID retrieval and generation system 110 includes an anti-disturbance hash coding module 1101, a quick code retrieval module 1102 and a unique ID generation module 1103, and the data storage system 120 includes a raw feature library 1201 and a code retrieval library 1202. After receiving the object request, the system extracts the feature instance, calculates the hash code through the disturbance resistant hash coding module 1101, and then queries the existing object ID associated with the hash code in the database through the fast coding retrieval module 1102. Because the hash function has high calculation speed, the data with high similarity probably obtains the same hash code, and therefore, the quick similar search tracking can be realized.
However, the hash coding technique in the prior art can only define a specific hash function for a specific distance measurement method, one distance measurement method is usually only suitable for one type of feature, and the feature value types of the current object are usually rich, including character type, enumeration (category) type, numerical type, and the like, so the hash coding technique adopted in the prior art cannot complete the tracking of objects of multiple feature types. Moreover, the prior art has no adaptability to the change of the characteristics of the object, and the distance measurement method cannot be adjusted along with the change of the characteristics of the object, so that wrong hash coding can be caused, and the tracking is invalid.
According to the embodiment of the application, different data types with various characteristics are converted into the same data type, so that the server can process the characteristics of various different data types, and the tracking of objects with different data types is realized.
The object tracking method of the present application will be described in detail below with reference to fig. 2.
Fig. 2 is a schematic diagram of an object tracking method according to an embodiment of the present application. As shown in fig. 2, the method 200 includes steps S210 to S240, which are described in detail below.
S210, the server side obtains the characteristic examples of the objects.
As one embodiment, the object may be a client served by the server, and the feature instance contains a plurality of features with different data types, and the plurality of features are used for indicating hardware and/or software information of the client.
Alternatively, the object may be a device class object such as a browser or a mobile application, or may be an online text object such as the same news or the same post of different websites.
It should be understood that the hardware and/or software information of the client indicated by the various features of the object may include: hardware configuration, software version, etc. Optionally, various features of the object may also be used to indicate runtime information, such as network connections, etc.
S220, the server converts different data types of the multiple characteristics into the same data type to obtain the codes of the characteristic examples.
It should be understood that the different data types for the various features of the object may include: character type, enumeration (category) type, numerical type, etc.
As an embodiment, the encoding of the feature instance is a binary encoding. The server side respectively encodes different data types of multiple characteristics, and converts the data types into binary codes, specifically, for example: when the data type of the feature is integer type: if the value range is C, the code length is C, if the value is k, the front k bit is 1, and the rest are 0; when the character type is: taking a plurality of front bits after being hashed by md5, wherein the number of the front bits is configurable; when the method is enumerated: one-hot coding, i.e. if there are C possible values, then codingIs C bit binary system, when k is taken as value, the k bit is 1, and the rest are 0; when the floating point type is adopted: if the value interval length is Z and the value is x, the value is calculated as
Figure BDA0002296001690000041
I.e. normalized 1 to [0,1]And the interval is equally divided into C equal parts, rounded downwards and then coded according to an integer type.
By converting different data types of a plurality of characteristics into the same data type, the characteristics of the plurality of different data types can be processed.
S230, the server converts the codes of the feature examples into hash codes according to the weights of the multiple features.
Alternatively, the weight of each feature may be positively correlated with the number of bits each feature occupies in the hash code.
It should be understood that the weight of each feature is learned by feature weight.
As an embodiment, the code of the feature example is a binary code, and the server selects corresponding sampling bits from the binary code of each feature according to the weight of each feature, and then concatenates the sampling bits of all features to form a hash code. Specifically, for a given hash code length N, the service determines the number of sampling bits to be taken from the binary encoding of the feature according to the weight of the feature, such as: if a feature weight is w (0 < w < 1), the number of sampling bits in the corresponding binary code for the feature is u-round (N × w) (rounded to an integer). Optionally, the server randomly selects u binary bits as the sampling bits of the feature from the corresponding binary code according to the bit number u of the sampling bits of the feature, and the selected sampling bits are used as the index number of the binary code. By the same method, the server side selects the sampling bits of the characteristics from the binary codes corresponding to all the characteristics, and then the sampling bits of all the characteristics are spliced to form the hash code. For example: given a final hash code length N of 20, a binary code of a certain feature is 010010100101101, and a weight w of w is 0.1, then u N × w is 2 bits randomly collected on this binary code, and assuming that the result of random selection is the 5 th and 11 th bits, the binary index numbers are 5 and 11. Optionally, the index number is determined such that no further changes occur prior to the system update.
S240, the server tracks the object according to the hash code.
As an embodiment, the server searches the generated hash code in the database, and if the query result is not empty, the server reads the result to obtain the object ID (when there are multiple object IDs, the conflict is resolved according to the majority voting principle), and if the query result is empty, the server generates a new object ID by the unique ID generation module. The system binds the ID to the corresponding object to realize the object tracking and the process is finished.
The embodiment of the application enables the server to process the characteristics of various different data types by converting various different data types into the same data type; meanwhile, the codes of the feature examples are converted into the hash codes according to the weights of various features, so that the self-adaptive capacity of tracking can be improved, and the tracking accuracy is improved.
Fig. 3 is a schematic diagram of a system architecture of an object tracking method according to an embodiment of the present application. As shown in FIG. 3, the system architecture 300 includes a weight learning system 330, an ID retrieval and generation system 310, and a data storage system 320. These systems are described in detail below.
The weight learning system 330 is configured to output the feature weight through a learning algorithm according to the historical data of the server.
The weight learning system 330 may also include a feature weight learning module 3301 that may be used to learn feature weights based on feature data of objects in the database.
As an embodiment, the feature weight learning module may define a meta distance metric method for each class of features, and then learn distance parameters using labeled data to learn distance weights of the features. Specifically, the defining method when the data type of the feature is a character type, a data type, and an enumeration type is:
character type: the same distance is 0 and the different distances are 1; numerical type: the same distance is 0, and the different distances are numerical difference absolute values/maximum numerical difference absolute values; enumerated types are as follows: the same distance is 0 and the different distances are 1.
And then the server side learns the distance parameters by using the labeled data and learns the distance weights of the multiple features. Determining weights of the plurality of features according to a plurality of feature instances stored in the database, so that the distance between feature instances of the same object is smaller than the distance between feature instances of different objects, wherein the distance between two feature instances of the plurality of feature instances may be a weighted sum of the distances of corresponding features of the two feature instances. In particular, with wkThe weight of the kth feature is represented,
Figure BDA0002296001690000056
the element distance of the ith object instance and the jth object instance in the kth characteristic dimension is represented, and then the distance between the object instance i and the object instance j
Figure BDA0002296001690000051
Is a weighted sum of all feature dimensions, i.e.
Figure BDA0002296001690000052
During training, there is known label information, i.e. whether the object instance i and the object instance j are known to be the same object, where t is usedij1 denotes the same object, tij-1 indicates not the same object. Thus, given a training set, the algorithm adjusts the weights such that the penalty function is not less than 0, while ensuring that the weights are not less than
Figure BDA0002296001690000053
The minimum, namely:
Figure BDA0002296001690000054
wherein, wk≥0,
Figure BDA0002296001690000055
It is to be understood that the learned weights are output to the feature weight library, and the current weights of the plurality of features are updated if a difference between the new weights of the plurality of features and the current weights of the plurality of features is greater than a preset threshold.
It should be understood that the feature weight learning module is triggered at regular time, and after the triggering, the server side learns the feature weight in the feature weight learning module by using the feature instance set in the object database.
Alternatively, feature weight learning may be implemented using a gradient descent method, or a Broyden-Fletcher-Godfobu-Shannon (Broyden-Fletcher-Goldfarb-Shanno, BFGS) algorithm.
The ID retrieval and generation system 310 is used to extract features from the hardware and software and runtime information sent from the object, form feature instances, and then perform corresponding retrieval and tracking. The system 310 further comprises: a feature encoding module 3104, a hash encoding module 3101, a quick code retrieval module 3102 and a unique ID generation module 3103.
The feature encoding module 3104 may be configured to encode different data types of the object feature instance obtained by the server into the same data type, and preferably, convert the same into binary encoding. The hash encoding module 3101 may be configured to convert a plurality of codes of the same data type of a plurality of feature instances into a hash code according to the feature weight, where the weight of each feature is positively correlated with the number of bits occupied by each feature in the hash code. The fast code retrieval module 3102 may be configured to query the code retrieval library according to the generated hash code, and return the object ID if the query is successful. The unique ID generation module 3103, which may be used to generate and return a new object ID, ensures that the new object ID is a globally unique ID. Optionally, the unique object ID may be generated by recording the number of all known objects, and using a self-increment integer as the ID; or the current time and the object characteristics of the system can be used as input, and a hash code calculated by a common hash function can be used as the generated ID.
The data storage system 330 is responsible for storing information that must be stored during the object tracking process, and mainly includes: an original feature library module 3201, a feature weight library module 3203, and a code retrieval library module 3202. It should be appreciated that the database may be implemented using a non-relational structured query language (NOSQL), in-memory database, or Structured Query Language (SQL) table.
Alternatively, the raw feature library module 3201 may be used to store object IDs and features, one object ID may be associated with multiple sets of features, and the raw feature library module may be implemented using an SQL database. It should be understood that the system identifies an object with a unique ID, referred to as the object ID. The feature weight library module 3203 may be used to access feature weights, which may be a vector of values, which may be stored using an SQL table, where each column stores one-dimensional feature weights. The code retrieval library module 3202 is used to store hash codes and object IDs, which may be stored in key-value pairs or tables.
Fig. 4 is a flowchart of an object tracking method according to an embodiment of the present application. The method 400 includes steps S401 to S404, which are described in detail below.
S401, the server side obtains the object instance and judges whether the object ID exists. Specifically, after acquiring the object instance, the server searches whether the feature instance includes the object ID, and if the feature instance includes the object ID, the step S4052 is performed, and the server returns the unique object ID, optionally, the feature instance and the object ID thereof may be added to the original feature library, that is, step S4011, and the tracking process is ended; if the feature instance does not include the object ID, the process proceeds to step S402.
S402, the server side converts the acquired features of different data types into codes of the same data type. Optionally, the server converts the characteristics of different data types into binary codes.
And S403, the server performs hash coding on the codes of the same data type obtained by the feature coding to obtain hash codes. Specifically, the server determines the bit number occupied by each feature in the hash code according to the weight of the multiple features. Wherein the weight of each feature is obtained by learning the feature weight triggered by the timing of the server. Specifically, the server performs feature weight learning according to the feature instances in the original feature library, that is, step S4012, and when the difference between the new weight and the current weight of the plurality of features is greater than a preset threshold, step S4013 is performed to update the current weight of the plurality of features. The server obtains the hash code of the object according to the weights of the continuously updated characteristics, so that the self-adaptive capacity of the server tracking is improved, and the tracking accuracy is improved.
S404, the server side inquires the hash code in the code retrieval library according to the hash code and judges whether the object ID exists according to the hash code. Specifically, the server queries the hash code in the coding search library, and if the query result is not empty, reads the result to obtain the object ID (when there are multiple object IDs, the conflict is resolved according to the majority voting principle), that is, step S4042; if the query result is null, the unique ID generation module generates a new object ID, that is, step S4041, and then the server binds the generated unique ID to the corresponding object, thereby implementing the tracking of the object.
Fig. 5 is a schematic diagram of an object tracking apparatus according to an embodiment of the present application. As shown in fig. 5, the apparatus 500 includes an acquisition module 510, a signature encoding module 520, a hash encoding module 530, and a tracking module 540.
The obtaining module 510 is configured to obtain a feature instance of an object, where the object is a client served by the server, and the feature instance includes multiple features with different data types, where the multiple features are used to indicate hardware and/or software information of the client; the characteristic coding module is used for converting the data types of the multiple characteristics into the same data type to obtain the codes of the characteristic examples; the Hash coding module is used for converting the codes of the characteristic examples into Hash codes according to the weights of the various characteristics, wherein the weight of each characteristic is positively correlated with the bit number occupied by the characteristic example in the Hash codes; and the tracking module is used for tracking the object according to the hash code.
Optionally, the encoding of the feature instance is a binary encoding.
Optionally, the encoding of the feature instance includes an encoding corresponding to each feature of the plurality of features, and the hash encoding module is specifically configured to: determining the number of bits occupied by each feature in the hash code according to the weight of each feature and the number of bits of the hash code; sampling the code corresponding to each feature according to the number of bits occupied by each feature in the hash code to obtain a sampling result corresponding to each feature, wherein the number of bits of the sampling result corresponding to each feature is equal to the number of bits occupied by each feature in the hash code; and combining the sampling results of the plurality of characteristics to obtain the hash code.
Optionally, the hash encoding module is further configured to: and randomly sampling the code corresponding to each feature according to the bit number occupied by each feature in the hash code.
Optionally, the apparatus further comprises: an updating module 550, configured to update the weights of the plurality of features according to the plurality of feature instances stored in the database.
Optionally, the data storage module is further configured to: determining new weights of the plurality of features according to a plurality of feature instances stored in the database, so that the distance between feature instances of the same object is smaller than the distance between feature instances of different objects, wherein the distance between two feature instances in the plurality of feature instances is a weighted sum of the distances of corresponding features in the two feature instances; updating the current weights of the plurality of features if the difference between the new weights of the plurality of features and the current weights of the plurality of features is greater than a preset threshold.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is only one logical functional division, and other divisions may be realized in practice.
The method in the embodiments of the present application, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium, and based on such understanding, the technical solution or parts of the technical solution in the present application may be embodied in the form of a software product stored in a storage medium, and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method in the embodiments of the present application. The storage medium includes at least: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk. The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (13)

1. An object tracking method, comprising:
the method comprises the steps that a server side obtains a characteristic instance of an object, wherein the object is a client side served by the server side, the characteristic instance comprises a plurality of characteristics with different data types, and the plurality of characteristics are used for indicating hardware and/or software information of the client side;
the server side converts different data types of the multiple characteristics into the same data type to obtain the codes of the characteristic examples;
the server side converts the codes of the feature examples into hash codes according to the weights of the multiple features, wherein the weight of each feature is positively correlated with the bit number occupied by each feature in the hash codes;
and the server tracks the object according to the hash code.
2. The method of claim 1, wherein the encoding of the feature instance is a binary encoding.
3. The method of claim 1 or 2, wherein the encoding of the instance of the feature comprises an encoding corresponding to each feature of the plurality of features,
the server converts the codes of the feature instances into hash codes according to the weights of the multiple features, and the method comprises the following steps:
the server side determines the bit number occupied by each feature in the hash code according to the weight of each feature and the bit number of the hash code;
the server samples the code corresponding to each feature according to the number of bits occupied by each feature in the hash code to obtain a sampling result corresponding to each feature, wherein the number of bits of the sampling result corresponding to each feature is equal to the number of bits occupied by each feature in the hash code;
and the server side combines the sampling results of the plurality of characteristics to obtain the hash code.
4. The method according to claim 3, wherein the sampling, by the server, the code corresponding to each feature according to the number of bits occupied by each feature in the hash code comprises:
and the server randomly samples the code corresponding to each feature according to the bit number occupied by each feature in the hash code.
5. The method according to any one of claims 1-4, further comprising:
and updating the weights of the plurality of characteristics according to a plurality of characteristic examples stored in the database.
6. The method of claim 5, wherein updating the weights of the plurality of features based on a plurality of feature instances stored in a database comprises:
determining new weights of the plurality of features according to a plurality of feature instances stored in the database, so that the distance between feature instances of the same object is smaller than the distance between feature instances of different objects, wherein the distance between two feature instances in the plurality of feature instances is a weighted sum of the distances of corresponding features in the two feature instances;
updating the current weights of the plurality of features if the difference between the new weights of the plurality of features and the current weights of the plurality of features is greater than a preset threshold.
7. An object tracking apparatus, comprising:
the acquisition module is used for acquiring a characteristic instance of an object, wherein the object is a client served by the server, the characteristic instance comprises a plurality of characteristics with different data types, and the plurality of characteristics are used for indicating hardware and/or software information of the client;
the characteristic coding module is used for converting different data types of the multiple characteristics into the same data type to obtain the codes of the characteristic examples;
the hash coding module is used for converting the codes of the characteristic examples into hash codes according to the weights of the various characteristics, wherein the weight of each characteristic is positively correlated with the bit number occupied by each characteristic in the hash codes;
and the tracking module is used for tracking the object according to the hash code.
8. The apparatus of claim 7, wherein the encoding of the feature instance is a binary encoding.
9. The apparatus according to claim 7 or 8, wherein the encoding of the feature instance includes an encoding corresponding to each of the plurality of features, and the hash encoding module is specifically configured to:
determining the number of bits occupied by each feature in the hash code according to the weight of each feature and the number of bits of the hash code;
sampling the code corresponding to each feature according to the number of bits occupied by each feature in the hash code to obtain a sampling result corresponding to each feature, wherein the number of bits of the sampling result corresponding to each feature is equal to the number of bits occupied by each feature in the hash code;
and combining the sampling results of the plurality of characteristics to obtain the hash code.
10. The apparatus of claim 9, wherein the hash encoding module is further configured to:
and randomly sampling the code corresponding to each feature according to the bit number occupied by each feature in the hash code.
11. The apparatus according to any one of claims 7-10, further comprising:
and the updating module is used for updating the weights of the various characteristics according to the characteristic examples stored in the database.
12. The apparatus of claim 11, wherein the data storage module is further configured to:
determining new weights of the plurality of features according to a plurality of feature instances stored in the database, so that the distance between feature instances of the same object is smaller than the distance between feature instances of different objects, wherein the distance between two feature instances in the plurality of feature instances is a weighted sum of the distances of corresponding features in the two feature instances;
updating the current weights of the plurality of features if the difference between the new weights of the plurality of features and the current weights of the plurality of features is greater than a preset threshold.
13. A computer-readable storage medium, comprising a computer program which, when run on a computer device, causes a processing unit in the computer device to perform the method according to any of claims 1-6.
CN201911201522.7A 2019-11-29 2019-11-29 Object tracking method, device and computer readable storage medium Pending CN112887256A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911201522.7A CN112887256A (en) 2019-11-29 2019-11-29 Object tracking method, device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911201522.7A CN112887256A (en) 2019-11-29 2019-11-29 Object tracking method, device and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN112887256A true CN112887256A (en) 2021-06-01

Family

ID=76038728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911201522.7A Pending CN112887256A (en) 2019-11-29 2019-11-29 Object tracking method, device and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN112887256A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731882A (en) * 2015-03-11 2015-06-24 北京航空航天大学 Self-adaptive query method based on Hash code weighting ranking
US9165124B1 (en) * 2012-02-01 2015-10-20 Convertro, Inc. Systems and methods for identifying a returning web client
CN105512273A (en) * 2015-12-03 2016-04-20 中山大学 Image retrieval method based on variable-length depth hash learning
CN109308413A (en) * 2018-11-28 2019-02-05 杭州复杂美科技有限公司 Feature extracting method, model generating method and malicious code detecting method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9165124B1 (en) * 2012-02-01 2015-10-20 Convertro, Inc. Systems and methods for identifying a returning web client
CN104731882A (en) * 2015-03-11 2015-06-24 北京航空航天大学 Self-adaptive query method based on Hash code weighting ranking
CN105512273A (en) * 2015-12-03 2016-04-20 中山大学 Image retrieval method based on variable-length depth hash learning
US20180276528A1 (en) * 2015-12-03 2018-09-27 Sun Yat-Sen University Image Retrieval Method Based on Variable-Length Deep Hash Learning
CN109308413A (en) * 2018-11-28 2019-02-05 杭州复杂美科技有限公司 Feature extracting method, model generating method and malicious code detecting method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒋建军;王俊彪;郭立峰;刘鹰;: "多目标约束下制造信息编码模型研究", 机械科学与技术, no. 01, 15 January 2008 (2008-01-15) *

Similar Documents

Publication Publication Date Title
Schäfer et al. SFA: a symbolic fourier approximation and index for similarity search in high dimensional datasets
CN110188223B (en) Image processing method and device and computer equipment
CN105095435A (en) Similarity comparison method and device for high-dimensional image features
US20130301935A1 (en) Method and Apparatus of Identifying Similar Images
CN110134777B (en) Question duplication eliminating method and device, electronic equipment and computer readable storage medium
CN110098961B (en) Data quality evaluation method and device and storage medium
CN110825894A (en) Data index establishing method, data index retrieving method, data index establishing device, data index retrieving device, data index establishing equipment and storage medium
CN110750615B (en) Text repeatability judgment method and device, electronic equipment and storage medium
CN110969517B (en) Bidding life cycle association method, system, storage medium and computer equipment
CN112417381A (en) Method and device for rapidly positioning infringement image applied to image copyright protection
CN114386421A (en) Similar news detection method and device, computer equipment and storage medium
CN110688593A (en) Social media account identification method and system
CN117957523A (en) System and method for natural language code search
CN110083731B (en) Image retrieval method, device, computer equipment and storage medium
CN114528421A (en) Content auditing method and device, electronic equipment and storage medium
CN110580337A (en) professional entity disambiguation implementation method based on entity similarity calculation
CN112887256A (en) Object tracking method, device and computer readable storage medium
CN113792709B (en) Rapid large-scale face recognition method and system
CN116361796A (en) Industrial control malicious code detection method based on content partitioning
CN115563058A (en) Similar case retrieval method based on element extraction
EP2780830A1 (en) Fast database matching
CN112149566A (en) Image processing method and device, electronic equipment and storage medium
CN109783607B (en) Method for matching and identifying massive keywords in arbitrary text
US20190095483A1 (en) Search apparatus, storage medium, database system, and search method
Leng et al. Random subspace for binary codes learning in large scale image retrieval

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination