CN113891271A - Positioning method, device and system, communication equipment and computer readable storage medium - Google Patents

Positioning method, device and system, communication equipment and computer readable storage medium Download PDF

Info

Publication number
CN113891271A
CN113891271A CN202111101621.5A CN202111101621A CN113891271A CN 113891271 A CN113891271 A CN 113891271A CN 202111101621 A CN202111101621 A CN 202111101621A CN 113891271 A CN113891271 A CN 113891271A
Authority
CN
China
Prior art keywords
positioning
communication
data packets
data
data packet
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
CN202111101621.5A
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.)
Gree Electric Appliances Inc of Zhuhai
Zhuhai Lianyun Technology Co Ltd
Original Assignee
Gree Electric Appliances Inc of Zhuhai
Zhuhai Lianyun Technology 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 Gree Electric Appliances Inc of Zhuhai, Zhuhai Lianyun Technology Co Ltd filed Critical Gree Electric Appliances Inc of Zhuhai
Priority to CN202111101621.5A priority Critical patent/CN113891271A/en
Publication of CN113891271A publication Critical patent/CN113891271A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The embodiment of the application provides a positioning method, a positioning device and a positioning system, communication equipment and a computer readable storage medium, wherein the method comprises the following steps: a first communication device acquires N data packets associated with a first positioning tag, wherein the N data packets are respectively sent by N second communication devices at a first time point, and the data packets comprise relative distance values used for representing the distance between the second communication devices and the first positioning tag; the value of N is an integer greater than or equal to 3; the first communication device determines coordinate values of the first location tag at the first point in time based on the N relative distance values in the N data packets. Through the method and the device, the problem that in the prior art, the data packet needs to be conducted for multiple times to perform subsequent positioning processing, so that the positioning time is delayed greatly is solved.

Description

Positioning method, device and system, communication equipment and computer readable storage medium
Technical Field
The present application relates to the field of positioning technologies, and in particular, to a positioning method, apparatus and system, a communication device, and a computer-readable storage medium.
Background
In the technical field of wireless positioning, Ultra Wide Band (UWB), which is a carrier-free communication technology, has the characteristics of high transmission rate, large spatial capacity, low cost, low power consumption and the like, and compared with other positioning technologies, the Ultra Wide Band (UWB) has better performance and higher precision, and is more suitable for short-distance indoor real-time positioning; in the existing positioning base station data flow calculation engine system, data packets are often received by a designed message acquisition module (such as an Apache flux framework), then forwarded to a designed message cache middleware (such as an Apache Kafka framework), and finally pulled from the middleware to perform subsequent processing, so that a preposed data acquisition end of the middleware has large time delay and cannot meet the requirement of indoor positioning on real-time performance.
Disclosure of Invention
An object of the embodiments of the present application is to provide a positioning method, an apparatus and a system, a communication device and a computer-readable storage medium, which solve the problem in the prior art that a data packet needs to be conducted multiple times to perform subsequent positioning processing, resulting in a large positioning time delay. The specific technical scheme is as follows:
in a first aspect of this application, there is provided a positioning method, including: a first communication device acquires N data packets associated with a first positioning tag, wherein the N data packets are respectively sent by N second communication devices at a first time point, and the data packets comprise relative distance values used for representing the distance between the second communication devices and the first positioning tag; the value of N is an integer greater than or equal to 3; the first communication device determines coordinate values of the first location tag at the first point in time based on the N relative distance values in the N data packets.
In a second aspect of the present application, there is also provided a positioning method, including: the second communication equipment sets a frame format of the data packet, wherein the frame format comprises a first field used for representing the identification, a second field used for representing the relative distance and a third field used for representing the batch count value; the identification is used for representing the incidence relation between the data packet and the positioning label; the relative distance value is used for characterizing the distance between the second communication device and the positioning tag; the batch counting value is used for representing a counting value corresponding to a time point for sending the data packet; and the second communication equipment sends the data packet to the first communication equipment.
In a third aspect of the present application, there is also provided a positioning apparatus applied to a first communication device, including: an obtaining module, configured to obtain N data packets associated with a first positioning tag, where the N data packets are sent by N second communication devices at a first time point, and the data packets include a relative distance value used to represent a distance between the second communication device and the first positioning tag; the value of N is an integer greater than or equal to 3; and the positioning module is used for determining the coordinate value of the first positioning label at the first time point based on the N relative distance values in the N data packets.
In a fourth aspect of the present application, there is also provided a positioning apparatus, applied to a second communication device side, including: the device comprises a setting module, a processing module and a processing module, wherein the setting module is used for setting a frame format of a data packet, and the frame format comprises a first field for representing an identifier, a second field for representing a relative distance and a third field for representing a batch count value; the identification is used for representing the incidence relation between the data packet and the positioning label; the relative distance value is used for characterizing the distance between the second communication device and the positioning tag; the batch counting value is used for representing a counting value corresponding to a time point for sending the data packet; and the second sending module is used for sending the data packet to the first communication equipment.
In a fifth aspect of the present application, there is also provided a positioning system including the positioning device in the third aspect and the positioning device in the fourth aspect.
In a sixth aspect of the present application, there is further provided a communication device, including a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory complete communication with each other through the communication bus; a memory for storing a computer program; a processor for implementing the method steps of the first aspect or the method steps of the second aspect when executing a program stored in the memory.
In a seventh aspect of the present application, there is also provided a computer-readable storage medium having stored therein instructions, which, when run on a computer, cause the computer to perform the method steps of the second aspect.
In the embodiment of the application, the first communication device can acquire N data packets respectively sent by N second communication devices at a first time point, and the data packets include a relative distance value used for representing a distance between the second communication device and the first positioning tag, so that the first communication device can determine a coordinate value of the first positioning tag at the first time point through the N relative distances, and thus, in the embodiment of the application, the data packets including the relative distance value can be directly acquired, thereby improving the positioning efficiency of the positioning tag, and solving the problem that the data packets need to be conducted for a plurality of times to perform subsequent positioning processing in the prior art, which results in large positioning time delay.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below.
Fig. 1 is a flowchart of a positioning method in an embodiment of the present application;
FIG. 2 is a second flowchart of a positioning method according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a Flink-based UWB positioning base station data stream real-time processing system in an embodiment of the present application;
FIG. 4 is a flow chart of a method for processing data streams in an embodiment of the present application;
FIG. 5 is a schematic structural diagram of a positioning device according to an embodiment of the present disclosure;
FIG. 6 is a second schematic structural view of a positioning device in an embodiment of the present application;
fig. 7 is a schematic structural diagram of a communication device in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
An embodiment of the present application provides a positioning method, as shown in fig. 1, the method includes:
102, a first communication device acquires N data packets associated with a first positioning tag, wherein the N data packets are respectively sent by N second communication devices at a first time point, and the data packets comprise relative distance values used for representing the distance between the second communication devices and the first positioning tag; the value of N is an integer greater than or equal to 3;
and 104, the first communication device determines the coordinate value of the first positioning label at the first time point based on the N relative distance values in the N data packets.
Through the above steps 102 and 104, the first communication device can obtain N data packets respectively sent by N second communication devices at the first time point, and because the data packets include the relative distance value for representing the distance between the second communication device and the first positioning tag, the first communication device can determine the coordinate value of the first positioning tag at the first time point through the N relative distances, and thus, in this embodiment of the present application, the data packets including the relative distance value can be directly obtained, thereby improving the positioning efficiency of the positioning tag, and solving the problem that the data packets need to be conducted for a plurality of times to perform subsequent positioning processing in the prior art, which results in a large positioning time delay.
In addition, as the value of N is an integer greater than or equal to 3, if N is 3, the two-dimensional coordinate value of the positioning tag at the first time point can be determined, and if N is 4 or an integer greater than 4, the three-dimensional coordinate value of the positioning tag at the first time point can be determined, and the positioning tag can be positioned more accurately through the two-dimensional coordinate value or the three-dimensional coordinate value.
It should be noted that the relative distance value in the embodiment of the present application may be implemented based on a Time of Arrival (TOA), a Time Difference of Arrival (TDOA), and the like. In addition, the positioning tag in the embodiment of the present application may be a UWB positioning tag, or other tags that can be positioned. Further, the first communication device may be a terminal or a server and the second communication device may be a base station or other device in the communication network.
In an optional implementation manner of the embodiment of the present application, regarding the manner in which the first communication device acquires the N data packets associated with the first positioning tag in step 102, the method may further include:
step 11, the first communication device obtains N data packets in the partition within a preset time length after the first time point; the partition is used for storing N data packets which are sent by N communication devices at the same time point and are associated with the same positioning label.
It should be noted that, in an actual application scenario, it is impossible for each second communication device (base station) to completely synchronize the generation time of the data packet including the relative distance at the time point with the transmission time during transmission, the time stamps of the data packets generated by each second communication device (base station) at the time point are not the same, and a transmission delay phenomenon exists in network transmission, which may cause a problem of disorder of the data packets received by the first communication device. In the prior art, a mode of reading data packets in a cache at regular time is generally adopted to capture all base station data packets containing relative distance values corresponding to the tags at each time point as much as possible, then all the data packets are processed, coordinate values are calculated, if the set timing time is too short, the data packets are not received completely, and if the set timing time is too long, the data processing delay time is longer.
However, with the above step 102, since the partition is used to store N data packets which are transmitted by N communication devices at the same time point and are associated with the same positioning tag, that is, the data packets in the partition are transmitted by N second communication devices at the first time point, it is ensured that the N data packets are in the same batch, and in addition, the N data packets are also associated with the related positioning tags, that is, it is ensured that the data packets for positioning are all associated with the same positioning tag. In an example, taking N as 4 as an example, as long as there are 4 packets in the partition, the positioning tag is positioned based on the relative position distance in the 4 packets, that is, the positioning accuracy is ensured, and the data processing delay time is also shortened.
In a further optional implementation manner of this embodiment of the present application, the manner that the first communication device acquires N data packets in the partition in step 11 may further include:
step 21, the first communication device receives a data packet sent by the second communication device based on the first communication protocol; the second communication equipment is a client associated with the first communication protocol; the first communication device is a Flink-based communication device;
it should be noted that Flink is an open source stream processing framework, and its core is a distributed stream data stream engine written in Java and Scala. Flink executes arbitrary stream data programs in a data parallel and pipelined manner, and Flink's pipelined runtime system can execute batch and stream processing programs. The first communication Protocol may be a Transmission Control Protocol (TCP). That is, the first communication device integrates the open source stream processing framework of Flink, and performs data transmission with the second communication device based on TCP.
Step 22, the first communication device converts the received data packet into a simple Java Object (POJO) supported by the Flink according to a preset first operator;
the operator in the embodiment of the present application refers to a mapping from a function space to a function space, and the first operator may be a Map operator in a specific application scenario. POJO is a java object which does not inherit from any class, does not realize any interface and is not invaded by other frameworks.
Step 23, the first communication device divides the received data packet into a plurality of partitions by a preset second operator based on the attribute of the POJO, wherein the attribute of the POJO includes an identifier and a batch count value; the identification is used for representing the incidence relation between the data packet and the first positioning label, and the batch count value is used for representing the count value corresponding to the time point for sending the data packet;
it should be noted that the second operator may be a keyBy operator in a specific example.
In a specific example, the identifier is used to represent an association relationship between the data packet and the first positioning tag, for example, N data packets with an attribute of identifier 1 are all related to positioning tag 1, that is, the N data packets are all sent to positioning tag 1; n data packets with the attribute of id 2 are all associated with locator tag 2, i.e., the N data packets are all sent to locator tag 2. I.e. the packet with identity 1 is placed in one partition and the packet with identity 2 is placed in another partition. The above is merely an example, and the association relationship between the specific identifier and the positioning tag may be determined according to actual situations.
In addition, the batch count value is used to represent the count value corresponding to the time point of sending the data packet, in a specific example, the batch count value of the data packet sent at the time point 1 is 1, and the batch count value of the data packet sent at the time point 2 is 2. Namely, the data packet with the batch count value of 1 is placed in one subarea, and the data packet with the batch count value of 1 is placed in the other subarea. Namely, the data packet with the batch counting value of 1 and related to the positioning label 1 is placed in one partition, and the data packet with the batch counting value of 2 and related to the positioning label 2 is placed in the other partition.
And step 24, in a preset time length after the first time point, the first communication equipment acquires the N data packets in the subarea.
Through the steps 21 to 24, a Flink streaming processing frame is adopted to receive the data packet, and for each positioning tag, the Flink receives the data packet sent by the second communication device in real time, converts the data packet into a POJO object supported by the Flink, and performs grouping (different partitions) and a Flink window mechanism and a custom processing function (a first operator) according to the object attribute, so that all base station data packets corresponding to the tag and including the relative distance value are completely captured at each time point, and a related resolving function (a second operator) is defined to resolve the coordinate value of the positioning tag, thereby reducing the time delay in the data processing process (without conducting the data packet for multiple times), eliminating the fixed timing time delay, and improving the data processing speed, that is, improving the positioning efficiency.
In an optional implementation manner of the embodiment of the present application, the method of the embodiment of the present application may further include:
and 106, the first communication equipment sends the coordinate value to the target application through the second communication protocol.
In a specific example, the second communication protocol includes one of: the system comprises a Transmission Control Protocol (TCP), a full duplex communication Protocol (Websocket) based on the TCP, a User Data Protocol (UDP) Message Queue Telemetry Transport (MQTT) Protocol, a Data Distribution Service for Real-Time Systems (DDS) Protocol, an Advanced Message Queue Protocol (AMQP), and an Extensible communication and presentation Protocol (XMPP).
As can be seen, in the embodiment of the present application, a server based on a Websocket protocol may be used, or a client based on a TCP protocol may be implemented in a multithreading manner to serve as an extended data download end (data sinks) of a Flink to be embedded in the Flink. By the method, all intermediate links of label coordinate value data transmission between the downstream application and the first communication equipment can be removed, and the label coordinate values issued by the first communication equipment are directly received by the downstream application service through a TCP (transmission control protocol) protocol or a Websocket protocol, so that data transmission time delay generated by the intermediate links is eliminated, and the real-time performance of coordinate value calculation is improved.
The above is to explain the present application from the first communication device side, and the following is to explain the present application from the second communication device side, that is, the present application also provides a positioning method, as shown in fig. 2, the method includes the steps of:
step 202, the second communication device sets a frame format of the data packet, wherein the frame format includes a first field for representing the identifier, a second field for representing the relative distance, and a third field for representing the batch count value; identifying an association relationship between the data packet and the positioning label; the relative distance value is used for representing the distance between the second communication equipment and the positioning label; the batch counting value is used for representing a counting value corresponding to a time point for sending the data packet;
step 204, the second communication device sends the data packet to the first communication device.
As can be seen from the foregoing steps 202 to 204, the frame format of the data packet sent by the second communication device to the first communication device includes a plurality of fields, where the fields may represent an association relationship between the data packet and the positioning tag, may represent a distance between the second communication device and the positioning tag, and a relationship between the second communication device and a time point of sending the data packet, and these fields may all allow the first communication device to locate the positioning tag through the data packet.
The present application is exemplified below with reference to a specific implementation manner of an embodiment of the present application, where the specific implementation manner provides a Flink-based UWB positioning base station data stream real-time processing system, as shown in fig. 3, the system includes: the system comprises a data acquisition module 32, a Flink streaming data processing module 34 and a data issuing module 36;
the data acquisition module 32 is embedded in the Flink streaming data processing submodule and is used for collecting the real-time data streams sent by each positioning base station and directly taking the collected data as a data source of the Flink streaming data processing submodule;
a Flink stream data processing module 34, configured to receive and convert a data stream format in a data stream manner, and screen out required data to calculate a tag coordinate value;
and the data issuing module 36 is embedded in the Flink streaming data processing submodule, and is used for issuing the calculated real-time coordinate data stream of the positioning tag to various downstream application services.
Based on the system in fig. 3, the present embodiment further provides a data stream processing method, as shown in fig. 4, the method includes the steps of:
step 402, defining the data frame transmission content and transmission format of the base station data packet;
as shown in table 1, when each positioning base station communicates with a positioning tag, a data packet containing information such as a base station ID, a tag ID, a relative distance value between the base station and the tag, a batch identifier count value, and the like is generated at regular time, a command word field in each data packet is a data packet type identifier, and all data packets having the same count value can be regarded as the same time point and are the same batch of data, and the data packet is sent to a base station data stream processing system in a hexadecimal character string format;
Figure BDA0003271142360000081
TABLE 1
Step 404, receiving data streams sent by each positioning base station in real time through a TCP communication protocol;
in the embodiment of the present application, taking calculating the three-dimensional real-time coordinate value of each positioning tag as an example, it is at least necessary to obtain distance data packets of four base stations at the same time, so that each positioning tag can keep communication with four different positioning base stations at each time point and thereby generate four data packets containing relative distance values, for each positioning tag, the four data packets at the same time point are the same batch of data, the data stream processing system can solve the three-dimensional coordinate value of the tag only if the four data packets are completely received, and each positioning base station generates one data packet per second, that is, the refresh frequency of the data is 1 Hz. The positioning base stations and the data stream processing system communicate by using a TCP protocol, each positioning base station is a TCP client, a Flink stream type processing frame is used as a core in the embodiment, the TCP clients based on multi-thread communication are realized by self-defining by using a Java network programming frame (Netty), the TCP clients are embedded into the Flink as a Flink extended data source (data sources), all intermediate links for data transmission between the positioning base stations and the data stream processing system can be removed by the method, and data packets sent by the positioning base stations are directly received by the data stream processing system through the TCP communication protocol, so that data transmission time delay generated by the intermediate links is eliminated, and the real-time performance of coordinate value calculation of the data stream processing system is improved.
Step 406, converting the format of the received data packet, and temporarily storing the converted data packet in a grouping and partitioning manner;
the method comprises the following steps that a Flink streaming processing framework firstly receives native data packets sent by all base stations in real time through a data source; then, each received data packet is converted into a POJO object supported by the Flink through a Map operator realized by self definition; and then, grouping the data packets through an realized keyBy operator according to the two object attributes of the tag ID and the batch count value, wherein all the base station data packets with the same tag ID and batch count value are divided into a group and are arranged on the same subarea.
Step 408, aiming at each positioning time point of each positioning label, rapidly acquiring all data packets generated by the positioning base station, which are communicated with the positioning label at each time point, of the label from the partitioned data by using a window mechanism and a counting trigger in a flink streaming processing frame, and calculating the coordinate value of the label according to the acquired data packets;
in the embodiment of the present application, after grouping, the data packets in each partition are respectively subjected to packet screening processing by using a custom-implemented window, for example, a Flink rolling window (scrolling Windows) and a count trigger (Triggers) with a size of 2 seconds.
In a specific application scenario, a base station generates one data packet in 1 second, and most of the time delay of each data packet sent to a data stream processing system is within 1 second, and the time delay of the remaining few data packets does not exceed 2 seconds, that is, 4 base stations can be received by the data stream processing system in 2 seconds at most of 4 data of the current batch at the current time point, so that Flink triggers a window operation every 2 seconds, the window operation can respectively acquire all data packets currently entering the partition at each partition, where the 4 data packets are respectively sent by the 4 base stations, and executes a corresponding processing function according to the acquired data packets, and the processing function can select whether to execute a positioning algorithm coordinate value calculation according to whether the number of the data packets meets requirements, and then empties the data on the partition, and closes the current window. Before executing the window operation each time, in the interval time, the counting trigger executes the counting operation once when the partition enters one piece of data, when 4 data packets exist in the partition, the situation that 4 data packets of 4 base station current batches are received is shown, the counting trigger triggers the window operation execution in advance, then the partition data is cleared, otherwise, the trigger does not execute any operation until the interval time is up, and the corresponding window operation is executed; by the method, coordinate calculation operation can be performed on the Flink as soon as 4 data packets in the same batch are received, and the coordinate calculation operation is performed after 2 seconds unless part of data is received in a delayed manner, so that all base station data packet objects corresponding to the current tags and containing relative distance values are completely captured at each time point in real time, fixed time interval delay time is eliminated, coordinate value calculation is performed on the received data packets at the fastest speed, and the real-time performance of coordinate value calculation of a data stream processing system is improved.
And step 410, directly pushing the calculated coordinate value of the positioning label to a downstream application service through a TCP (transmission control protocol) or a websocket protocol.
In the embodiment of the application, a server based on a Websocket protocol is realized by self-defining a Java network programming framework (Netty), or a client based on a TCP protocol is realized in a multithreading mode to be used as an extended data download end (data sinks) of the Flink to be embedded into the Flink. By the method, all intermediate links of label coordinate value data transmission of the downstream application and the data stream processing system are removed, and the label coordinate values issued by the data stream processing system are directly received by the downstream application service through a TCP (transmission control protocol) protocol or a Websocket protocol, so that data transmission time delay generated by the intermediate links is eliminated, and the real-time performance of the coordinate value calculation of the data stream processing system is improved.
Corresponding to fig. 1, an embodiment of the present application further provides a positioning apparatus, which is applied to a first communication device, and as shown in fig. 5, the apparatus includes:
an obtaining module 52, configured to obtain N data packets associated with the first positioning tag, where the N data packets are sent by N second communication devices at a first time point, and the data packets include a relative distance value used to represent a distance between the second communication device and the first positioning tag; the value of N is an integer greater than or equal to 3;
and the positioning module 54 is configured to determine a coordinate value of the first positioning tag at the first time point based on the N relative distance values in the N data packets.
Through the device of this application embodiment, can acquire N data packets that N second communication equipment sent at first time point, because including the relative distance value that is used for the distance between second communication equipment of token and the first location label in the data packet, consequently, the device can confirm the coordinate value of first location label at first time point through this N relative distance, it is thus clear that can directly acquire the data packet including the relative distance value in this application embodiment, thereby the location efficiency to the location label has been promoted, it needs to carry out follow-up location processing through many times of conduction to have solved data packet among the prior art, lead to the great problem of positioning time delay.
Optionally, the obtaining module 52 in this embodiment of the present application further includes: the acquisition unit is used for acquiring N data packets in the subarea within a preset time length after the first time point; the partition is used for storing N data packets which are sent by N communication devices at the same time point and are associated with the same positioning label.
Optionally, the obtaining unit further may include: the receiving subunit is used for receiving a data packet sent by the second communication device based on the first communication protocol; the second communication equipment is a client associated with the first communication protocol; the first communication device is a Flink-based communication device; the conversion subunit is used for converting the received data packet into a simple Java object POJO supported by the Flink according to a preset first operator; the receiving subunit is used for dividing the received data packet into a plurality of partitions through a preset second operator based on the attribute of the POJO, wherein the attribute of the POJO comprises an identifier and a batch count value; the identification is used for representing the incidence relation between the data packet and the first positioning label, and the batch count value is used for representing the count value corresponding to the time point for sending the data packet; and the obtaining subunit is configured to obtain the N data packets in the partition within a preset time length after the first time point.
Optionally, the apparatus in this embodiment of the present application may further include: and the first sending module is used for sending the coordinate values to the target application through a second communication protocol.
Optionally, the first communication protocol and the second communication protocol in this embodiment of the present application include one of: a transmission control Protocol TCP, a full duplex communication Protocol Websocket based on TCP, a User Data Protocol (UDP), a Message Queue Telemetry Transport (MQTT) Protocol, a Data Distribution Service for Real-Time Systems (DDS) Protocol, an Advanced Message Queue Protocol (AMQP), and an Extensible communication and presentation Protocol (XMPP).
Optionally, in this embodiment of the present application, the first operator is a Map operator, and the second operator is a keyBy operator.
Corresponding to fig. 2, an embodiment of the present application further provides a positioning apparatus, which is applied to a second communication device side, as shown in fig. 6, and includes:
a setting module 62, configured to set a frame format of the data packet, where the frame format includes a first field used for representing the identifier, a second field used for representing the relative distance, and a third field used for representing the batch count value; identifying an association relationship between the data packet and the positioning label; the relative distance value is used for representing the distance between the second communication equipment and the positioning label; the batch counting value is used for representing a counting value corresponding to a time point for sending the data packet;
a second sending module 64, configured to send the data packet to the first communication device.
It can be seen that the frame format of the data packet sent to the first communication device by the apparatus includes a plurality of fields, and the plurality of fields can represent the association relationship between the data packet and the positioning tag, can represent the distance between the second communication device and the positioning tag, and the relationship between the second communication device and the time point of sending the data packet, which all can enable the first communication device to locate the positioning tag through the data packet.
The embodiment of the present application further provides a communication device, as shown in fig. 7, which includes a processor 701, a communication interface 702, a memory 703 and a communication bus 704, where the processor 701, the communication interface 702, and the memory 703 complete mutual communication through the communication bus 704,
a memory 703 for storing a computer program;
the processor 701 is configured to implement the steps in fig. 1 or fig. 2 when executing the program stored in the memory 703.
It should be noted that, in the process of implementing the method steps in fig. 1 or fig. 2, the roles are also similar, and are not described herein again.
The communication bus mentioned in the above terminal may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 7, but this is not intended to represent only one bus or type of bus.
The communication interface is used for communication between the terminal and other equipment.
The Memory may include a Random Access Memory (RAM) or a non-volatile Memory (non-volatile Memory), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the Integrated Circuit may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, or a discrete hardware component.
In yet another embodiment provided by the present application, a computer-readable storage medium is further provided, which has instructions stored therein, and when the instructions are executed on a computer, the instructions cause the computer to execute the positioning method described in any of the above embodiments.
In yet another embodiment provided by the present application, there is also provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the positioning method described in any of the above embodiments.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only for the preferred embodiment of the present application, and is not intended to limit the scope of the present application. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application are included in the protection scope of the present application.

Claims (12)

1. A method of positioning, comprising:
a first communication device acquires N data packets associated with a first positioning tag, wherein the N data packets are respectively sent by N second communication devices at a first time point, and the data packets comprise relative distance values used for representing the distance between the second communication devices and the first positioning tag; the value of N is an integer greater than or equal to 3;
the first communication device determines coordinate values of the first location tag at the first point in time based on the N relative distance values in the N data packets.
2. The method of claim 1, wherein the first communication device obtaining N packets associated with a first positioning tag comprises:
the first communication equipment acquires N data packets in the subarea within a preset time length after a first time point; wherein the partition is configured to store N data packets transmitted by the N communication devices at the same point in time and associated with the same location tag.
3. The method of claim 2, wherein the first communication device obtaining N data packets within a partition comprises:
the first communication equipment receives a data packet sent by the second communication equipment based on a first communication protocol; the second communication equipment is a client associated with the first communication protocol; the first communication device is a Flink-based communication device;
the first communication equipment converts the received data packet into a simple Java object POJO supported by the Flink according to a preset first operator;
the first communication equipment divides the received data packet into a plurality of partitions through a preset second operator based on the attribute of the POJO, wherein the attribute of the POJO comprises an identifier and a batch count value; the identification is used for representing the association relationship between the data packet and the first positioning label, and the batch count value is used for representing the count value corresponding to the time point for sending the data packet;
and within a preset time length after the first time point, the first communication equipment acquires the N data packets in the subarea.
4. The method of claim 3, further comprising:
and the first communication equipment sends the coordinate value to a target application through a second communication protocol.
5. The method of claim 4, wherein the first communication protocol and the second communication protocol comprise one of: the system comprises a transmission control protocol TCP, a full duplex communication protocol Websocket based on the TCP, a user data protocol UDP, a message queue telemetry transmission MQTT protocol, a data distribution service DDS protocol oriented to a real-time system, an advanced message queue protocol AMQP and an extensible communication and presentation protocol XMPP.
6. The method of claim 3, wherein the first operator is a Map operator and the second operator is a keyBy operator.
7. A method of positioning, comprising:
the second communication equipment sets a frame format of the data packet, wherein the frame format comprises a first field used for representing the identification, a second field used for representing the relative distance and a third field used for representing the batch count value; the identification is used for representing the incidence relation between the data packet and the positioning label; the relative distance value is used for characterizing the distance between the second communication device and the positioning tag; the batch counting value is used for representing a counting value corresponding to a time point for sending the data packet;
and the second communication equipment sends the data packet to the first communication equipment.
8. A positioning device applied to a first communication device, comprising:
an obtaining module, configured to obtain N data packets associated with a first positioning tag, where the N data packets are sent by N second communication devices at a first time point, and the data packets include a relative distance value used to represent a distance between the second communication device and the first positioning tag; the value of N is an integer greater than or equal to 3;
and the positioning module is used for determining the coordinate value of the first positioning label at the first time point based on the N relative distance values in the N data packets.
9. A positioning device applied to a second communication device side comprises:
the device comprises a setting module, a processing module and a processing module, wherein the setting module is used for setting a frame format of a data packet, and the frame format comprises a first field for representing an identifier, a second field for representing a relative distance and a third field for representing a batch count value; the identification is used for representing the incidence relation between the data packet and the positioning label; the relative distance value is used for characterizing the distance between the second communication device and the positioning tag; the batch counting value is used for representing a counting value corresponding to a time point for sending the data packet;
and the second sending module is used for sending the data packet to the first communication equipment.
10. A positioning system comprising the positioning device of claim 8 and the positioning device of claim 9.
11. The communication equipment is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for realizing the communication between the processor and the memory through the communication bus;
a memory for storing a computer program;
a processor for implementing the method steps of any one of claims 1 to 6 or the method steps of claim 7 when executing a program stored in the memory.
12. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the method steps of any one of claims 1 to 6 or carries out the method steps of claim 7.
CN202111101621.5A 2021-09-18 2021-09-18 Positioning method, device and system, communication equipment and computer readable storage medium Pending CN113891271A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111101621.5A CN113891271A (en) 2021-09-18 2021-09-18 Positioning method, device and system, communication equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111101621.5A CN113891271A (en) 2021-09-18 2021-09-18 Positioning method, device and system, communication equipment and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN113891271A true CN113891271A (en) 2022-01-04

Family

ID=79010050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111101621.5A Pending CN113891271A (en) 2021-09-18 2021-09-18 Positioning method, device and system, communication equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN113891271A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110839203A (en) * 2019-12-03 2020-02-25 锐捷网络股份有限公司 Ultra-wideband-based label positioning method and device
CN111294731A (en) * 2020-01-16 2020-06-16 珠海格力电器股份有限公司 UWB indoor positioning method, device, electronic equipment and storage medium
CN112073900A (en) * 2020-08-14 2020-12-11 珠海格力电器股份有限公司 Positioning base station data stream processing method, device, equipment and computer readable medium
CN113038359A (en) * 2019-12-09 2021-06-25 广东博智林机器人有限公司 Positioning method, positioning device, electronic equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110839203A (en) * 2019-12-03 2020-02-25 锐捷网络股份有限公司 Ultra-wideband-based label positioning method and device
CN113038359A (en) * 2019-12-09 2021-06-25 广东博智林机器人有限公司 Positioning method, positioning device, electronic equipment and storage medium
CN111294731A (en) * 2020-01-16 2020-06-16 珠海格力电器股份有限公司 UWB indoor positioning method, device, electronic equipment and storage medium
CN112073900A (en) * 2020-08-14 2020-12-11 珠海格力电器股份有限公司 Positioning base station data stream processing method, device, equipment and computer readable medium

Similar Documents

Publication Publication Date Title
CN108200134B (en) Request message management method and device, and storage medium
US10360257B2 (en) System and method for image annotation
CN108776934B (en) Distributed data calculation method and device, computer equipment and readable storage medium
US10043220B2 (en) Method, device and storage medium for data processing
CN110022259B (en) Message arrival rate determining method and device, data statistics server and storage medium
CN112073900B (en) Positioning base station data stream processing method, device, equipment and computer readable medium
CN109690512A (en) GPU telecommunication with trigger action
WO2015050567A1 (en) System and method for performing set operations with defined sketch accuracy distribution
US11188443B2 (en) Method, apparatus and system for processing log data
US9680719B2 (en) Communication system, client terminal, and server
CN111273999B (en) Data processing method and device, electronic equipment and storage medium
CN110321252B (en) Skill service resource scheduling method and device
CN112448969A (en) Link tracking method, device, system, equipment and readable storage medium
CN110784336A (en) Multi-device intelligent timing delay scene setting method and system based on Internet of things
CN112417016A (en) Data exchange method, system, equipment and storage medium
US11263453B2 (en) Method and system for tracking and displaying object trajectory
CN107301125B (en) Method and device for searching root error and electronic equipment
CN113891271A (en) Positioning method, device and system, communication equipment and computer readable storage medium
CN114116184B (en) Data processing method and device in virtual scene, equipment and medium
US11107177B1 (en) Data/metadata synchronization using metadata queue statistics
US20180232406A1 (en) Big data database system
CN115391605A (en) Data query method, device, equipment, computer readable medium and program product
CN111291127B (en) Data synchronization method, device, server and storage medium
CN114816778A (en) Time delay control method, system and related equipment
WO2024093365A1 (en) Time delay determination method and apparatus, and electronic device 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