Data query device and method

By introducing an intermediate proxy module and a data playback module into the data query device, the original data is automatically played back to the database, and the problem of time and cost of querying automotive CAN signal data in the prior art is solved, and efficient and accurate data query is achieved.

CN119903247APending Publication Date: 2025-04-29YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311375737.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-20
Publication Date
2025-04-29

AI Technical Summary

Technical Problem

In the prior art, in automotive CAN signal data query, manual processing methods lead to a long time in query, and improving the data survival cycle or using offline applets will increase storage costs or reduce query efficiency.

Method used

It provides a data query device, including an intermediate proxy module and a data playback module, and realizes fast and accurate data query by automatically playing back the original data to the database.

Benefits of technology

It realizes the efficiency and completeness of data queries, reduces query time and storage costs, and improves the accuracy of data queries.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119903247A_ABST
    Figure CN119903247A_ABST
Patent Text Reader

Abstract

The invention provides a data query device and method. The data query device comprises an intermediate agent module used for obtaining a first request used for requesting to obtain first data of a first vehicle in a first time period, and sending a second request used for requesting to play back original data of the first data to a data playback module when the first data is not obtained from a database; the data playback module is used for acquiring original data from the data storage node according to the second request, replaying second data corresponding to the original data into the database and sending indication information to the intermediate agent module, and the indication information is used for indicating that data playback is completed; and the intermediate agent module is also used for acquiring the second data from the database according to the indication information and feeding back the second data to the user. Through the data query device, the data storage node and the database can be connected, so that the data query device helps a user to quickly and accurately query required data, and efficient query of the data is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data query, and in particular to a data query device and method. Background Art

[0002] In the vehicle data query service in the vehicle cloud service, due to cost considerations and based on the fact that most users only need to query vehicle data within the past month (such as controller area network (CAN) signal data), the vehicle data life cycle (Time to Live, TTL) is set to one month in the database. However, when a user needs to query expired CAN signal data, a manual processing method is used to query the corresponding original CAN signal data, and then the original CAN signal data is parsed, and the parsed original CAN signal data is sent to the terminal device used by the user for the user to view the text. However, this manual processing method usually requires frequent communication and interactive confirmation (such as data security confirmation, data feedback time confirmation, etc.), which results in a relatively long overall time for CAN signal data query.

[0003] In response to the above problems, the industry has proposed some solutions, but these solutions either require a significant increase in the TTL of CAN signal data, resulting in a significant increase in database storage costs, and slow data query efficiency due to the possible increase in storage of a lot of unnecessary data, or require the manual extraction and delivery part to be refined into an offline applet, which is automatically triggered by the user. However, this offline applet needs to query the CAN signal data required by the user in a large amount of scattered CAN signal data, resulting in slow data query efficiency. Therefore, the query solution for automotive CAN signal data needs further research. Summary of the invention

[0004] The present application provides a data query device and method for realizing efficient data query.

[0005] In the first aspect, the present application provides a data query device, which is used to provide data query services for users (such as car company personnel). Optionally, the data query device may include an intermediate proxy module and a data playback module. The intermediate proxy module is used to obtain a first request, wherein the first request is used to request to obtain the first data of the first vehicle in the first time period. When the intermediate proxy module does not obtain the first data from the database, the intermediate proxy module can send a second request to the data playback module, wherein the second request is used to request to replay the original data of the first data; the data playback module is used to obtain the original data from the data storage node according to the second request, and the second data corresponding to the original data can be replayed into the database, and then an indication message can be sent to the intermediate proxy module, wherein the indication message is used to indicate that the data playback is complete; the intermediate proxy module is also used to obtain the second data from the database according to the indication message, and the second data can be fed back to the user.

[0006] In this data query device, when the intermediate agent module fails to obtain the first data from the database, the data storage node and the database can be connected through the data playback module, so as to realize automatic playback of data from the data storage node to the database, so that the intermediate agent module can re-acquire the required query data. In this way, the data query device can help users (such as automobile company personnel) to quickly and accurately query the required data. Of course, users can also query all historical data through the data query device, thereby realizing efficient query and integrity query of data.

[0007] In one possible design, the second request may include the vehicle identification and the first time period of the first vehicle; when the data playback module obtains the original data from the data storage node according to the second request, it is specifically used to: determine the storage path corresponding to the original data according to the vehicle identification and the first time period of the first vehicle; and obtain the original data from the data storage node according to the storage path.

[0008] In the above design, the data playback module can quickly and accurately determine the location of the original data used to store the first data according to the vehicle identification of the first vehicle and the first time period, so that the original data can be queried in a timely and effective manner.

[0009] In one possible design, the data playback module, when determining the storage path corresponding to the original data based on the vehicle identification of the first vehicle and the first time period, is specifically used to: determine the first time to which the first time period belongs, wherein the first time is composed of the date to which the first time period belongs and the entire hour to which the first time period belongs; generate a storage path based on the vehicle identification of the first vehicle and the first time.

[0010] In the above design, when the storage path for storing original data in the data storage node is composed of vehicle identification, date, and integer time, if the data playback module needs to query the original data of the first vehicle in the first time period in the data storage node, it is necessary to generate a storage path based on the vehicle identification of the first vehicle, the date of the first time period, and the integer time to which the first time period belongs. After that, the corresponding original data can be obtained from the data storage node in a timely and accurate manner according to the storage path.

[0011] In one possible design, the data playback module may include a data reading module, a data parsing module and a data warehousing module; wherein the data reading module is used to obtain original data from the data storage node, and can store the original data in a first playback queue; the data parsing module is used to obtain original data from the first playback queue, can parse the original data to obtain second data, and then can store the second data in a second playback queue; the data warehousing module is used to obtain second data from the second playback queue, and can store the second data in a database.

[0012] In the above design, through the collaborative work of the data reading module, the data parsing module and the data warehousing module, and with the help of the first playback queue and the second playback queue, a data playback channel can be established to connect the data storage node and the database, so that the original data can be automatically written from the data storage node to the database.

[0013] In one possible design, the data parsing module is also used to obtain the original data of the first vehicle at the first collection time from the first write queue when the first write queue stores the original data of the first vehicle at the first collection time, and can parse the original data of the first vehicle at the first collection time to obtain the first data of the first vehicle at the first collection time, and then the first data of the first vehicle at the first collection time can be stored in the second write queue. Optionally, the first collection time is included in the first time period; the data warehousing module is also used to obtain the first data of the first vehicle at the first collection time from the second write queue. If the first collection time is within the preset data storage time range, the first data of the first vehicle at the first collection time can be stored in the database, and / or, if the data type of the first data of the first vehicle at the first collection time is within the preset data type table, the first data of the first vehicle at the first collection time can be stored in the database.

[0014] Exemplarily, the data storage module can provide the user with a high-frequency parameter configuration interface. In the high-frequency parameter configuration interface, some high-frequency parameter information that the user needs to edit is displayed, so that the user can configure the time range of the data to be written into the database (i.e., the data storage time range) and the data type to be written into the database (such as which signal data can be stored in the database) in the high-frequency parameter configuration interface.

[0015] In the above design, by utilizing the data parsing function of the data parsing module and the data writing function of the data storage module, the data collected by the vehicle can be written into the database in a timely and effective manner, so that users can quickly query the corresponding data according to the vehicle identification and query time period. Moreover, the data storage module writes the data into the database only when it determines that the data is high-frequency data, which can reduce the storage pressure and storage cost of the database.

[0016] In a possible design, the above-mentioned data query device may also include a data storage module; the data storage module is used to obtain the original data of the first vehicle at the first collection time from the first write queue, and can determine the storage path corresponding to the original data of the first vehicle at the first collection time in the data storage node according to the vehicle identification of the first vehicle and the second time to which the first collection time belongs, wherein the second time is composed of the date to which the first collection time belongs and the entire hour to which the first collection time belongs. Thereafter, the data storage module can determine the file for storing the original data of the first vehicle at the first collection time in the storage directory corresponding to the storage path according to the vehicle identification of the first vehicle and the first collection time. Then, the data storage module stores the vehicle identification of the first vehicle, the receiving time of the original data of the first vehicle at the first collection time, the first collection time, and the original data of the first vehicle at the first collection time in the file in a column storage manner (or a uniform column storage manner).

[0017] In the above design, the data storage module uses column storage to store raw data, which can facilitate subsequent efficient data playback and data query.

[0018] In one possible design, the above-mentioned data query device may also include a data query front-end module; the data query front-end module is used to provide a data query interface, and the data query front-end module can obtain the data query requirements input by the user from the data query interface. Thereafter, the data query front-end module can generate a first request based on the data query requirements, and can send the first request to the intermediate agent module, wherein the data query interface is used to prompt the user to input the data query requirements, the data query requirements may include data query parameters, and the data query parameters may include one or more of the vehicle identification, whether to play back the data, or the query time period.

[0019] In the above design, a data query interface is provided to users through the data query front-end module, which can realize human-computer interaction, make the user's query operation more intuitive and convenient, and realize the visual editing of data query requests, so that users can query data in a timely and effective manner according to actual needs, and at the same time realize the visual display of data.

[0020] In a possible design, the time period between any full hour in a day and the nearest full hour after the full hour can be divided into multiple set time periods, and the vehicle identification of the first vehicle can respectively constitute multiple different file identifications with the multiple set time periods, and the file corresponding to the first file identification among the multiple different file identifications is used to store the original data of the first vehicle whose collection time is within the set time period corresponding to the first file identification.

[0021] In the above design, when storing the original data in the data storage node, the time period between two adjacent full hours is divided into multiple set time periods to achieve the goal of maintaining the original data collected by the vehicle according to a certain set time period (for example, 15 minutes) and writing it into the file corresponding to the set time period. After the set time period expires, switch to the next new file to write the original data collected by the vehicle subsequently. This can improve the reading and writing efficiency of file data and can quickly locate the required data file according to the file identifier.

[0022] In a possible design, the data included in the database may be associated with the user's configuration. Exemplarily, the user's configuration may include at least one of the following: a preset data storage time range, a preset data type table, a life cycle of data in the database, or whether to compress and store consecutive identical data.

[0023] In the above design, by flexibly configuring which data is written into the database as high-frequency data according to the actual needs of the user, and flexibly configuring the life cycle or other attributes of the data in the database, it is possible to reduce the storage cost of the database while meeting the different needs of the user.

[0024] In the second aspect, the present application provides a data query method, which can be executed by a data query device or a component (such as a chip, a chip system or a circuit, etc.) that can support the data query device to implement the functions required by the method. The beneficial effects can be referred to the relevant description of the first aspect, which will not be repeated here. Exemplarily, the data query device may include an intermediate proxy module and a data playback module. Optionally, the data query method is implemented by performing data interaction between the intermediate proxy module and the data playback module included in the data query device as an example for introduction. In this method, the intermediate proxy module obtains a first request, wherein the first request is used to request to obtain the first data of the first vehicle in the first time period. When the first data is not obtained from the database, the intermediate proxy module can send a second request to the data playback module, wherein the second request is used to request to replay the original data of the first data. After that, the data playback module can obtain the original data from the data storage node according to the second request, and can replay the second data corresponding to the original data into the database. Then, the data playback module can send an indication message to the intermediate proxy module, wherein the indication message is used to indicate that the data playback is completed. Finally, the intermediate proxy module can obtain the second data from the database according to the indication message, and can feed back the second data to the user.

[0025] In one possible design, the second request includes the vehicle identification and the first time period of the first vehicle; when the data playback module obtains the original data from the data storage node according to the second request, it includes: the data playback module can determine the storage path corresponding to the original data according to the vehicle identification and the first time period of the first vehicle, and then the data playback module can obtain the original data from the data storage node according to the storage path.

[0026] In one possible design, the data playback module determines the storage path corresponding to the original data based on the vehicle identification of the first vehicle and the first time period, including: the data playback module can first determine the first time to which the first time period belongs, wherein the first time is composed of the date to which the first time period belongs and the entire hour to which the first time period belongs, and then the data playback module can generate a storage path based on the vehicle identification of the first vehicle and the first time.

[0027] In one possible design, the data playback module includes a data reading module, a data parsing module and a data warehousing module; the method also includes: the data reading module can obtain original data from the data storage node, and can store the original data in a first playback queue, then the data parsing module can obtain the original data from the first playback queue, parse the original data to obtain second data, and can store the second data in a second playback queue, then, the data warehousing module can obtain second data from the second playback queue, and can store the second data in a database.

[0028] In one possible design, the method also includes: when the first write queue stores the original data of the first vehicle at the first collection time, the data analysis module can obtain the original data of the first vehicle at the first collection time from the first write queue, and can analyze the original data of the first vehicle at the first collection time to obtain the first data of the first vehicle at the first collection time. After that, the data analysis module can store the first data of the first vehicle at the first collection time to the second write queue. Exemplarily, the first collection time can be included in the first time period, and then the data warehousing module can obtain the first data of the first vehicle at the first collection time from the second write queue. If the first collection time is within the preset data storage time range, the data warehousing module can store the first data of the first vehicle at the first collection time to the database, and / or, if the data type to which the first data of the first vehicle at the first collection time belongs is within the preset data type table, the data warehousing module can store the first data of the first vehicle at the first collection time to the database.

[0029] In a possible design, the data query device also includes a data storage module; the method also includes: the data storage module can obtain the original data of the first vehicle at the first collection time from the first write queue, and can determine the storage path corresponding to the original data of the first vehicle at the first collection time in the data storage node according to the vehicle identification of the first vehicle and the second time to which the first collection time belongs, wherein the second time is composed of the date to which the first collection time belongs and the hour to which the first collection time belongs. Thereafter, the data storage module can determine the file for storing the original data of the first vehicle at the first collection time in the storage directory corresponding to the storage path according to the vehicle identification of the first vehicle and the first collection time. Then, the data storage module can use column storage to store the vehicle identification of the first vehicle, the receiving time of the original data of the first vehicle at the first collection time, the first collection time, and the original data of the first vehicle at the first collection time in the file.

[0030] In one possible design, the data query device also includes a data query front-end module; the method also includes: the data query front-end module provides a data query interface, wherein the data query interface is used to prompt the user to input data query requirements, the data query requirements may include data query parameters, the data query parameters may include one or more of vehicle identification, whether to play back data or query time period, after which the data query front-end module can obtain the data query requirements from the data query interface, and can generate a first request based on the data query requirements, and then the data query front-end module can send the first request to the intermediate proxy module.

[0031] In a possible design, the time period between any full hour in a day and the nearest full hour after the full hour can be divided into multiple set time periods, and the vehicle identification of the first vehicle can respectively constitute multiple different file identifications with the multiple set time periods, and the file corresponding to the first file identification among the multiple different file identifications is used to store the original data of the first vehicle whose collection time is within the set time period corresponding to the first file identification.

[0032] In a possible design, the data included in the database may be associated with the user's configuration. Exemplarily, the user's configuration may include at least one of the following: a preset data storage time range, a preset data type table, a life cycle of data in the database, or whether to compress and store consecutive identical data.

[0033] The beneficial effects of the method in any possible design of the second aspect mentioned above can be found in the corresponding description of the first aspect mentioned above, and will not be repeated here.

[0034] In the third aspect, the present application provides a data query method, which can be executed by an intermediate proxy module or a component (such as a chip, a chip system or a circuit, etc.) that can support the intermediate proxy module to implement the functions required by the method. The beneficial effects can be found in the relevant description of the first aspect, which will not be repeated here. Optionally, the data query method executed by the intermediate proxy module is introduced as an example. In this method, the intermediate proxy module obtains a first request, wherein the first request is used to request to obtain the first data of the first vehicle in the first time period. When the first data is not obtained from the database, the intermediate proxy module can send a second request to the data playback module, wherein the second request is used to request to replay the original data of the first data. After that, the intermediate proxy module receives indication information from the data playback module, wherein the indication information is used to indicate that the data playback is complete. Then, the intermediate proxy module can obtain the second data from the database according to the indication information, and can feed back the second data to the user.

[0035] In a fourth aspect, the present application provides a data query method, which can be executed by a data playback module or a component (such as a chip, a chip system or a circuit, etc.) that can support the data playback module to implement the functions required by the method. The beneficial effects can be found in the relevant description of the first aspect, which will not be repeated here. Optionally, the data playback module is used to perform a data query method as an example for introduction. In this method, the data playback module receives a second request from an intermediate proxy module, wherein the second request is used to request the playback of the original data of the first data of the first vehicle in the first time period, and the second request is generated by the intermediate proxy module when the first data is not obtained from the database. Afterwards, the data playback module can obtain the original data from the data storage node according to the second request, and can play back the second data corresponding to the original data into the database. Then, the data playback module can send an indication message to the intermediate proxy module, wherein the indication message is used to indicate that the data playback is complete.

[0036] In a fifth aspect, the present application provides a data query device, which includes a communication interface and a processor. Optionally, the data query device also includes a memory. The memory is used to store computer programs or instructions, and the processor is coupled to the memory and the communication interface. When the processor executes the computer program or instruction, the data query device executes the method in any possible design of the second aspect above, or implements the method described in the second aspect above, or implements the method described in the third aspect above. In one example, the communication interface can be a transceiver device integrated with a data transceiver function. In another example, the communication interface can also be composed of a transmitter and a receiver, wherein the transmitter is used to send data and the receiver is used to receive data.

[0037] In a sixth aspect, the present application provides a vehicle data query system, which may include a database, a data storage node, and a data query device. The data query device is used to implement the method in any possible design of the second aspect, or to implement the method described in the second aspect, or to implement the method described in the third aspect; the database is used to store the parsed data of one or more vehicles; the data storage node is used to back up and store the original data of one or more vehicles.

[0038] In the seventh aspect, the present application provides a computer program product, which includes a computer program or instructions. When the computer program or instructions are run on a computer, the computer executes the method in any possible design of the second aspect, or implements the method described in the second aspect, or implements the method described in the third aspect.

[0039] In an eighth aspect, the present application provides a computer-readable storage medium, which stores a computer program or instruction. When the computer program or instruction is executed by a computer, the computer executes a method in any possible design of the second aspect, or implements the method described in the second aspect, or implements the method described in the third aspect.

[0040] In the ninth aspect, the present application also provides a chip, comprising a processor, which is coupled to a memory and is used to execute a computer program or instruction stored in the memory. When the computer program or instruction is executed, it implements the method in any possible design of the second aspect above, or implements the method described in the second aspect above, or implements the method described in the third aspect above.

[0041] In the tenth aspect, the present application further provides a chip system, which includes a processor for supporting a computer device to implement the method in any possible design of the second aspect, or to implement the method of the second aspect, or to implement the method of the third aspect. In one possible design, the chip system also includes a memory, which is used to store the necessary programs and data of the computer device. The chip system can be composed of a chip, or it can include a chip and other discrete devices.

[0042] Based on the implementations provided in the above aspects, this application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 A schematic diagram of a possible application scenario provided by an embodiment of the present application is exemplified;

[0044] Figure 2a A schematic diagram showing the structure of a data query device provided in an embodiment of the present application is exemplified;

[0045] Figure 2b A schematic diagram showing the structure of a data playback module provided in an embodiment of the present application is exemplified;

[0046] Figure 2c A schematic diagram showing the structure of another possible data query device provided by an embodiment of the present application is exemplified;

[0047] Figure 2d A schematic diagram showing the structure of another data query device provided in an embodiment of the present application is exemplified;

[0048] Figure 3 A schematic diagram showing an exemplary process of a data query method provided in an embodiment of the present application;

[0049] Figure 4a A schematic diagram of a data query interface provided by an embodiment of the present application is exemplarily shown;

[0050] Figure 4b Another data query interface diagram provided by an embodiment of the present application is exemplarily shown;

[0051] Figure 5 A schematic diagram of a process of playing back data by a data playback module provided in an embodiment of the present application is exemplified;

[0052] Figure 6 A schematic diagram showing an exemplary process of storing data collected by a vehicle by a data query device provided in an embodiment of the present application;

[0053] Figure 7 The following is a schematic diagram showing the structure of another data query device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0054] Before introducing the technical solution provided by the present application, some of the terms involved in the present application are first explained to facilitate understanding by those skilled in the art.

[0055] Data Reload: The original data stored in the data storage node (such as a hard disk) is stored in the database after being acquired, loaded, parsed, and stored.

[0056] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0057] The following is an introduction to the application scenarios to which the data query device provided by the present application is applicable. It should be noted that these introductions are for the convenience of understanding by those skilled in the art and do not limit the scope of protection claimed by the present application.

[0058] Figure 1 The following is a schematic diagram showing a possible application scenario to which the present application embodiment is applicable. Figure 1As shown, the application scenario may include a terminal device 100, a data query device 200, a database 300 and a data storage node 400. Optionally, the terminal device 100 and the data query device 200 may be communicatively connected via one or more networks; the data query device 200 and the database 300 may be communicatively connected via one or more networks; the data query device 200 and the data storage node 400 may be communicatively connected via one or more networks. The network may be a wired network or a wireless network, for example, the wireless network may be a wireless fidelity (WIREless-Fidelity, WIFI) network, or a mobile cellular network, or other forms of networks, which are not limited in the embodiments of the present application.

[0059] Among them, the terminal device 100 is installed with a target application for assisting users (such as car company personnel) to query vehicle data (such as CAN signal data, local interconnect network (Local Interconnect Network, LIN) signal data, Ethernet (EtherNet, ETH) signal data, etc.). Exemplarily, taking the user as a car company personnel as an example, the car company personnel can edit and submit relevant query information of the vehicle to be queried (such as the query time of the vehicle to be queried (consisting of the query date and query time period), vehicle name, vehicle identification (or can be called vehicle index) or whether to play back data, etc.) to the data query device 200 through the target application. For example, the target application can be a client, a web version application, or a small program embedded in other applications, etc., so that users can query data (such as CAN signal data) anytime and anywhere. Optionally, the terminal device 100 may include a display for presenting the data query interface provided by the data query device 200 to achieve human-computer interaction. Among them, the data query interface displays information edited by the user or information provided to the user.

[0060] Exemplarily, the terminal device 100 may be a smart phone, a tablet computer, a desktop computer, a computer with wireless transceiver function (such as a laptop computer, etc.), a PPD (Personal Digital Assistant), a mobile internet device (MID), a vehicle terminal, a wearable device with wireless communication function (such as a smart watch, a smart bracelet, smart glasses or a smart helmet, etc.), a virtual reality (VR) device, an augmented reality (AR) device or a smart home device (such as a smart speaker or a smart TV, etc.), etc. It should be understood that the present application does not limit the specific device form of the terminal device.

[0061] The data query device 200 is a device (such as a server or a computing device) for providing data query services to users. For example, the data query device 200 responds to the user's relevant data query operation in the target application on the terminal device 100, and provides the user with corresponding data (such as the CAN signal data of the vehicle). Exemplarily, the data query device 200 can be a vehicle data query system (such as a vehicle history record (VHR) cloud service-signal data query system), or it can also be a computing device (such as a computer) or other arbitrary device with a data query function, or it can also be a functional element (such as a chip or circuit with a data query function, etc.) set in a computing device or other arbitrary device. The data query function system can be an independent physical server, or it can also be a server cluster or distributed system composed of multiple physical servers, or it can also be a cloud server for providing cloud services, cloud computing, cloud storage, cloud communications, network services, security services, and cloud computing services such as big data.

[0062] The database 300 is used to store the parsed data of one or more vehicles (such as CAN signal data, LIN signal data or ETH signal data, etc.). For example, taking a certain vehicle as vehicle A, the database 300 can be used to store the high-frequency data of vehicle A (such as the CAN signal data of vehicle A in the last month).

[0063] The data storage node 400 is used to back up and store the original data of one or more vehicles. For example, the data storage node can be a backup hard disk (such as a network attached storage (NAS) hard disk or a disk array (RAID) hard disk) or other persistent storage devices.

[0064] For example, the terminal device 100 is a desktop computer, and the target application is a web browser installed on the desktop computer for assisting car company personnel in querying vehicle data (such as CAN signal data). When a car company personnel (such as car company personnel A) needs to query the CAN signal data (such as headlights, mileage, vehicle speed, rotation speed, oil pressure, voltage, motor temperature, battery temperature, battery power, corner, acceleration, fault code, etc.) of a certain vehicle (such as vehicle A) at a certain query time (such as 9:00-9:20 on the date xxxx year xx month xx day), the car company personnel A can log in to the data query interface provided by the data query device 200 through the web browser installed on the desktop computer used, and can edit the query information of vehicle A on the data query interface, such as the query time (date xxxx year xx month xx day and query time period 9:00-9:20), vehicle identification A, etc. Afterwards, the car company personnel A can submit the query information of vehicle A after editing it. In response to the submission operation of vehicle manufacturer personnel A on the web browser for query information of vehicle A, the data query device 200 can obtain the query information of vehicle A and can execute the data query process for vehicle A.

[0065] Optionally, the data query device provided in the embodiment of the present application can be applied to multiple fields (such as vehicle maintenance, vehicle inspection, vehicle evaluation, vehicle teaching, etc.).

[0066] It should be noted that Figure 1 Only one possible application scenario is provided schematically, and this schematic application scenario is to more clearly illustrate the technical solution of the embodiment of the present application, and does not limit the application scenario of the data query device provided by the present application. Figure 1 The form and quantity of each device in the application scenario shown are only for example and do not constitute a limitation of the present application. Figure 1 The names of the various devices in the application scenarios shown are only examples, and the names of the various devices in the specific implementation may also be other names, which are not specifically limited in this application. In addition, it is known to those skilled in the art that with the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0067] based on Figure 1 In the application scenario shown, the present application also provides a functional module structure of a data query device. Figure 2a According to the logical functions, the data query device can be divided into the following functional modules: an intermediate proxy module, a data playback module, etc. Optionally, the data playback module can include but is not limited to at least one of the following: a data reading module, a data parsing module or a data storage module.

[0068] It should be noted that Figure 2a The connection relationship between the various functional modules shown is only an example and does not constitute a limitation of the present application. The functions of each functional module are described below.

[0069] The intermediate proxy module is used to obtain a first request, wherein the first request is used to request to obtain first data of a first vehicle in a first time period. The intermediate proxy module is also used to send a second request to the data playback module when the first data is not obtained from the database according to the first request, wherein the second request is used to request to playback the original data of the first data. Optionally, the intermediate proxy module is also used to feed back the first data to a user when the first data is obtained from the database according to the first request. Exemplarily, the intermediate proxy module can be a middle-end data docking microservice (Data-access).

[0070] The data playback module is used to obtain the original data of the first data from the data storage node according to the second request, and can play back the second data corresponding to the original data into the database, and send indication information to the intermediate agent module, wherein the indication information is used to indicate that the data playback is completed.

[0071] For example, the second request includes the vehicle identification (or vehicle name) of the first vehicle and the first time period. After obtaining the second request, the data playback module can determine the storage path corresponding to the original data according to the vehicle identification (or vehicle name) of the first vehicle and the first time period included in the second request. Afterwards, the data playback module can obtain the original data from the data storage node according to the storage path.

[0072] The data playback module may obtain the original data from the data storage node in the following ways, but is not limited to:

[0073] Method 1: The data playback module can obtain the original data from the data storage node according to the storage directory corresponding to the storage path.

[0074] Method 2: The data playback module may first determine the storage directory corresponding to the storage path in the data storage node, and then the data playback module may obtain the original data from the storage directory.

[0075] Optionally, after obtaining the second request, the data playback module may first determine the first time to which the first time period belongs. Thereafter, the data playback module may determine the storage path corresponding to the original data according to the vehicle identification (or vehicle name) of the first vehicle and the first time.

[0076] In a possible implementation, when the first time period is a time period spanning two whole hours, there are two first times, i.e., one first time is composed of the date to which the first time period belongs and the whole hour before the first time period belongs, and the other first time is composed of the date to which the first time period belongs and the whole hour after the first time period belongs.

[0077] In another possible implementation, when the first time period is an hourly time period (ie, the first time period does not span two hourly hours), there is one first time, and the first time is composed of the date to which the first time period belongs and the hour to which the first time period belongs.

[0078] The data playback module may determine the storage path corresponding to the original data by, but not limited to, the following implementation methods:

[0079] Method 1: The data playback module determines the hash value of the vehicle identification (or vehicle name) of the first vehicle, and can perform a modulo operation on the hash value and a preset threshold to obtain a first value. Afterwards, the data playback module can determine the storage path corresponding to the original data based on the first value and the first time. In this way, this method 1 can ensure that the data of the same vehicle (such as CAN signal data) can be stored in the same directory (i.e., the directory formed by the hash value of the vehicle identification (or vehicle name)), and can facilitate rapid positioning of the original data by querying the time period.

[0080] For example, the data playback module can concatenate the first value with the first time to obtain the storage path corresponding to the original data. Exemplarily, the preset threshold can be determined based on the total number of vehicles owned by a certain car company and how many vehicles need to be stored in each storage directory. For example, taking car company A as an example, car company A has 10,000 vehicles, and wants to store data of 100 vehicles in each storage directory, then the preset threshold is 10000 / 100=100.

[0081] In one example, take the vehicle identification of the first vehicle as A, the first time period as 10:30-10:50 belonging to the date xxxx-xx-xx, and the preset threshold value as p as an example. The data playback module can first determine the hash value of the vehicle identification A, such as the hash value is hash(A), and can determine that the first time to which the first time period belongs is 10:00 on xxxx-xx-xx. Afterwards, the data playback module can perform a modulo operation on the hash value hash(A) and the preset threshold value p to obtain a first numerical value, such as the first numerical value s. Then, the data playback module can splice the first numerical value s with the first time xxxx-xx-xx-xx 10:00 to obtain the storage path corresponding to the original data as s / xxxx-xx-xx-xx 10:00, and the storage path s / xxxx-xx-xx-xx 10:00 is used to indicate the subdirectory under the directory formed by the first numerical value s.

[0082] In another example, the vehicle identification of the first vehicle is A, the first time period is 10:50-11:10 belonging to the date xxxx year xx month xx day, and the preset threshold is p. The data playback module can first determine the hash value of the vehicle identification A, such as the hash value is hash (A), and can determine that a first time to which the first time period belongs is xxxx year xx month xx day 10:00, and another first time to which it belongs is xxxx year xx month xx day 11:00. Afterwards, the data playback module can perform a remainder operation on the hash value hash (A) and the preset threshold value p to obtain a first value, such as the first value s. Then, the data playback module can splice the first value s with the first time xxxx year xx month xx day 10:00, and obtain a storage path corresponding to the original data as s / xxxx year xx month xx day 10:00, and splice the first value s with the first time xxxx year xx month xx day 11:00, and obtain another storage path corresponding to the original data as s / xxxx year xx month xx day 11:00. It can be seen that a part of the original data included in the original data of the first data is stored in the storage directory corresponding to the storage path s / xxxx / xx / xx / 10:00, and another part of the original data included in the original data of the first data is stored in the storage directory corresponding to the storage path s / xxxx / xx / xx / 11:00.

[0083] Method 2: The data playback module may combine (or concatenate) the vehicle identification (or vehicle name) of the first vehicle with the first time, and the storage path corresponding to the original data.

[0084] In one example, the vehicle identification of the first vehicle is A, and the first time period is 10:30-10:50 belonging to the date xxxx-xx-xx. The data playback module can first determine that the first time period belongs to 10:00 on xxxx-xx-xx. Afterwards, the data playback module can splice the vehicle identification A with the first time 10:00 on xxxx-xx-xx, and obtain the storage path corresponding to the original data as A / xxxx-xx-xx-xx 10:00.

[0085] In another example, let's continue to take the case where the vehicle identification of the first vehicle is A, and the first time period is 10:50-11:10 belonging to the date xxxx-xx-xx. The data playback module can determine that a first time to which the first time period belongs is 10:00 on xx-xx-xxxx, and another first time to which it belongs is 11:00 on xx-xx-xxxx. Afterwards, the data playback module can splice the vehicle identification A with the first time 10:00 on xx-xx-xxxx, and obtain a storage path corresponding to the original data as A / xx-xx-xxxx 10:00, and splice the vehicle identification A with the first time 11:00 on xx-xx-xxxx, and obtain a storage path corresponding to the original data as A / xx-xx-xxxx 11:00. It can be seen that the original data of the first data are respectively stored in the storage directories corresponding to the two storage paths, and the complete original data of the first data needs to be obtained through the storage directories corresponding to the two storage paths.

[0086] It should be understood that the above content is only an exemplary introduction to several possible ways to determine the storage path corresponding to the original data. The data playback module can also determine the storage path corresponding to the original data by adopting other methods, which will not be listed one by one in the embodiments of the present application.

[0087] The intermediate agent module is also used to obtain second data from the database according to the indication information, and can feed back the second data to the user.

[0088] Optionally, after obtaining the indication information from the data playback module, the intermediate agent module can be informed that the original data has been played back. Afterwards, the intermediate agent module can re-query the database for the relevant data of the first vehicle in the first time period, and can feed back the queried second data to the user. Optionally, the second data can be understood as the first data requested by the user.

[0089] For example, the following takes the data playback module including the data reading module, the data parsing module and the data storage module as an example. Figure 2b The specific implementation process of the data playback module playing back the second data corresponding to the original data into the database is introduced.

[0090] The data reading module is used to realize the function of the data playback module to obtain the original data from the data storage node. Exemplarily, the data reading module can be a data ETL (Extract-Transform-Load) microservice.

[0091] For example, after the data reading module obtains the second request, the data reading module can determine the storage path corresponding to the original data according to the vehicle identification (ID) of the first vehicle included in the second request and the first time period, and can obtain the original data from the data storage node according to the storage path. Afterwards, the data reading module can store the original data in the first playback queue. Exemplarily, the first playback queue is used to store the original data of one or more data during the data playback process (such as original CAN signal data, original LIN signal data, or original ETH signal data, etc.).

[0092] The data analysis module is used to implement the data analysis function of the data playback module. The data analysis module can provide data analysis services. Exemplarily, the data analysis module can be a data analysis microservice.

[0093] For example, after the data parsing module subscribes to the first playback queue, the data parsing module can obtain the original data from the first playback queue, and can parse the original data to obtain the second data. Afterwards, the data parsing module can store the second data in the second playback queue. Exemplarily, the second playback queue is used to store one or more parsed original data during the data playback process.

[0094] The data storage module is used to implement the function of writing data into the database of the data playback module. The data storage module can provide a service for writing data into the database. Exemplarily, the data storage module can be a data storage microservice.

[0095] For example, when the data warehousing module subscribes to the second playback queue, the data warehousing module can obtain the second data from the second playback queue and store the second data in the database. Optionally, the life cycle of the second data in the database can be set to a first duration, wherein the first duration is less than the second duration, and the second duration is the life cycle of other data in the database except the third data, and the third data is the data played back into the database via the data playback module, so that the storage time of the second data in the database can be effectively reduced, thereby reducing the database storage cost. Optionally, the data warehousing module can replay the second data (or other playback data), or the database server can replay the second data (or other playback data) written into the database, so that it is convenient to distinguish the playback data from other data in the database.

[0096] For example, taking the life cycle of other data stored in the database as 30 days, the database server can set the life cycle of the playback data (such as the second data or the third data) stored in the database to be less than 30 days, for example, the database server sets the life cycle of the playback data stored in the database to 15 days.

[0097] Optionally, the first playback queue and the second playback queue can be isolated from the data analysis module, so as to facilitate the reuse of the data analysis function of the data storage module; the second playback queue can be isolated from the data storage module, so as to facilitate the reuse of the data writing function of the data storage module.

[0098] Figure 2c A schematic diagram of the structure of another data query device provided in an embodiment of the present application. Figure 2a A data query front-end module is added on the basis of the data query front-end module. The data query front-end module is used to implement the data query interface providing function of the data query device. The data query front-end module can provide a data query interface to the user, so that the user can efficiently query the required data (such as CAN signal data) and realize human-computer interaction. Among them, the data query interface is used to prompt the user to enter the data query demand, and the data query demand may include data query parameters. Exemplarily, the data query parameters may include but are not limited to vehicle identification, vehicle name, whether to play back data or query time period (such as a time period belonging to the date xxxx / xx / xx), etc. Exemplarily, the data query front-end module can be a front-end microservice.

[0099] For example, when a user logs in to the data query interface provided by the data query front-end module through the target application (such as a web browser) on the terminal device used, the user can enter the corresponding data query requirement on the data query interface and submit it. In response to the data query requirement submitted by the user on the data query interface, the data query front-end module can obtain the data query requirement from the data query interface and generate a first request based on the data query requirement. Afterwards, the data query front-end module can send the first request to the intermediate proxy module.

[0100] Figure 2d A schematic diagram of the structure of another data query device provided in an embodiment of the present application. Figure 2c A data storage module is added on the basis of the invention. The data storage module is used to realize the function of writing data of the data query device into the data storage node. The data storage module can provide the service of writing data into the data storage node.

[0101] For example, when a vehicle (such as the first vehicle) collects raw data in real time (such as raw CAN signal data, raw LIN signal data or raw ETH signal data, etc.) or collects raw data at set time intervals, the raw data collected in real time or at set time intervals can be stored in the first write queue through the remote communication terminal (Telematics BOX, T-BOX). Exemplarily, the first write queue is used to store the raw data reported by any vehicle at one or more collection times during the data storage process. Optionally, T-BOX is also called a telematics control unit (TCU), which can integrate functional modules such as a global positioning system (GPS), an external communication interface, an ECU, a microcontroller, a mobile communication unit, and a memory. T-BOX can be connected to the vehicle bus (i.e., the internal communication network of the terminal device, such as the CAN bus, etc.) internally; externally, it can realize information interaction between vehicle terminals, handheld devices, roadside units (roadside units, RSUs) and public networks using vehicle to vehicle (vehicle to vehicle, V2V), vehicle to road (vehicle to road, V2R), vehicle to human (vehicle to human, V2H), vehicle to internet (vehicle to internet, V2I) and other communications through the cloud platform. Optionally, the first vehicle may include but is not limited to network communication devices, human machine interface (human machine interface, HMI), cockpit domain controller, vehicle sensor system and other electronic control units (electronic control unit, ECU), and in-vehicle communication networks (such as CAN bus, etc.) for realizing internal vehicle communication. Inside the first vehicle, the network communication device can, for example, realize information transmission with each ECU of the first vehicle through an in-vehicle communication network such as a CAN bus. In the embodiment of the present application, the network communication device can support wireless communication or wired communication, which is not limited in the embodiment of the present application.

[0102] Optionally, when the first vehicle stores the original data of the first vehicle at a certain collection time (first collection time) in the first write queue through the remote communication terminal, two data storage processes can be triggered, wherein one data storage process is executed by the data storage module, and the other data storage process is executed collaboratively by the data analysis module and the data storage module.

[0103] The following describes a storage process in which the data storage module stores the original data of the first vehicle at the first collection time into the data storage node.

[0104] After the data storage module subscribes to the first write queue, the data storage module can obtain the original data of the first vehicle at the first collection time from the first write queue, and can determine the storage path corresponding to the original data of the first vehicle at the first collection time in the data storage node according to the vehicle identification (or vehicle name) of the first vehicle and the second time to which the first collection time belongs. Among them, the second time is composed of the date to which the first collection time belongs and the whole hour to which the first collection time belongs. Optionally, the first collection time can be any time point within the first time period (for example, the time point can be a few minutes or a few minutes and seconds or a timestamp, etc.), or it can also be other time points outside the first time period (such as historical time points or future time points, etc.).

[0105] Afterwards, the data storage module can determine the file for storing the original data of the first vehicle at the first collection time from the storage directory corresponding to the storage path according to the vehicle identification (or vehicle name) of the first vehicle and the first collection time. Then, the data storage module can store the vehicle identification (or vehicle name) of the first vehicle, the reception time of the original data of the first vehicle at the first collection time (i.e., the time when the original data is sent to the first write queue through the T-BOX), the first collection time, and the original data of the first vehicle at the first collection time (such as the binary data corresponding to the original data) in the file in a column-by-column storage manner (or a uniform column-by-column storage manner), so as to facilitate subsequent efficient data query and data playback.

[0106] Among them, the time period between any full hour in a day and the nearest full hour after the full hour can be divided into multiple set time periods. The vehicle identification (or vehicle name) of any vehicle (such as the first vehicle) can respectively constitute multiple different file identifications (or file names) with the multiple set time periods. Optionally, the file corresponding to the first file identification (or first file name) among the multiple different file identifications (or file names) is used to store the original data of the first vehicle whose collection time is within the set time period corresponding to the first file identification (or first file name).

[0107] For example, two adjacent full hours in a day are 19:00 to 20:00, the vehicle identification of a certain vehicle is the vehicle identification A of the first vehicle, and the vehicle identification A of the first vehicle respectively forms different file names with multiple set time periods. The time period between 19:00 and 20:00 can be divided into set time periods according to a certain cycle (for example, 15 minutes as a cycle, or other time lengths as a cycle), so that the time period between 19:00 and 20:00 can be divided into four time periods, that is, time period 1 is 19:00-19:15, time period 2 is 19:15-19:30, time period 3 is 19:30-19:45, and time period 4 is 19:45-20:00, so that the original data of a certain vehicle in the corresponding period of collection time can be written into the same file with a cycle of 15 minutes. The file name of any file includes the vehicle identification of the first vehicle and the time period corresponding to this cycle, or the file name of the file includes the vehicle identification of the first vehicle and the starting time (or starting time point) corresponding to this cycle.

[0108] For example, the vehicle identification A of the first vehicle can constitute the file name of a file with time period 1, that is, A-19:00-19:15; the vehicle identification A of the first vehicle can also constitute the file name of a file with time period 2, that is, A-19:15-19:30; the vehicle identification A of the first vehicle can also constitute the file name of a file with time period 3, that is, A-19:30-19:45; the vehicle identification A of the first vehicle can also constitute the file name of a file with time period 4, that is, A-19:45-20:00.

[0109] For another example, the vehicle identification A of the first vehicle can constitute the file name of a file together with the start time of time period 1, that is, A-19:00; the vehicle identification A of the first vehicle can also constitute the file name of a file together with the start time of time period 2, that is, A-19:15; the vehicle identification A of the first vehicle can also constitute the file name of a file together with the start time of time period 3, that is, A-19:30; the vehicle identification A of the first vehicle can also constitute the file name of a file together with the start time of time period 4, that is, A-19:45.

[0110] In addition, for a certain vehicle (such as the first vehicle), after every 15 minutes, switch to the next new file to write the original data of the first vehicle whose collection time is within the set time period corresponding to the new file, so that the problem of low data reading and writing efficiency caused by the file being too large can be avoided, and at the same time, the required data file can be quickly located according to the file name (or file identifier), that is, it is convenient to quickly filter the required original data according to the vehicle identifier (or vehicle name) and the query time period. For example, take the above-mentioned file name A-19:00-19:15 and file name A-19:15-19:30 as an example. The data storage module can continuously write the original data of the first vehicle whose collection time is within 19:00-19:15 to the file corresponding to the file name A-19:00-19:15, until after 19:15, switch to the file corresponding to the file name A-19:15-19:30 to write the original data of the first vehicle whose collection time is within 19:15-19:30. It should be noted that when the data storage module writes the original data of the first vehicle into the file corresponding to the file name A-19:00-19:15, the vehicle identification A of the first vehicle, the collection time within 19:00-19:15, the receiving time of the original data whose collection time is within 19:00-19:15, and the original data whose collection time is within 19:00-19:15 are written into the file corresponding to the file name A-19:00-19:15 in a column-based storage manner. When the data storage module writes the original data of the first vehicle into the file corresponding to the file name A-19:15-19:30, the vehicle identification A of the first vehicle, the collection time within 19:15-19:30, the receiving time of the original data whose collection time is within 19:15-19:30, and the original data whose collection time is within 19:15-19:30 are written into the file corresponding to the file name A-19:15-19:30 in a column-based storage manner.

[0111] The following describes a storage process in which the data parsing module and the data storage module cooperate to store the original data of the first vehicle at the first collection time into the database.

[0112] After the data parsing module subscribes to the first write queue, the data parsing module can obtain the original data of the first vehicle at the first collection time from the first write queue, and can parse the original data of the first vehicle at the first collection time to obtain the parsed original data (such as the first data) of the first vehicle at the first collection time. For example, taking the original data reported by the first vehicle as the original CAN signal data as an example, when the original CAN signal data is binary data, the data parsing module can parse the original CAN signal data into parsed data of the signal name and signal value according to the vehicle model signal mapping table. Afterwards, the data parsing module can store the first data of the first vehicle at the first collection time to the second write queue. Exemplarily, the second write queue is used to store one or more parsed original data during the data storage process. Optionally, the first write queue and the second write queue can be isolated from the data parsing module, so that it is convenient to reuse the data parsing function of the data storage module; the second write queue can be isolated from the data storage module, so that it is convenient to reuse the data writing function of the data storage module.

[0113] After the data entry module subscribes to the second write queue, the data entry module can obtain the first data of the first vehicle at the first collection time from the second write queue, and can identify the first data of the first vehicle at the first collection time to determine whether the first data of the first vehicle at the first collection time is high-frequency data. For example, the data entry module can identify whether the first data of the first vehicle at the first collection time is high-frequency data by judging whether the first collection time is within the preset data storage time range, and / or whether the data type to which the first data of the first vehicle at the first collection time belongs is in the preset data type table. In this way, the method can effectively identify (or distinguish) high-frequency data that needs to be written into the database according to the screening conditions configured by the user (such as the preset data storage time range, the preset data type table, etc.), thereby reducing the storage pressure and storage cost of the database. Exemplarily, the preset data storage time range can be set to the last month or the last 2 months or other time ranges; the preset data type table includes data names (such as signal names) or data identifiers (such as signal identifiers) that can be stored in the database. Exemplarily, the data entry module can also provide a high-frequency parameter configuration interface to the user. In the high-frequency parameter configuration interface, some high-frequency parameter information that users need to edit is displayed so that users can configure the time range of data that needs to be written to the database (i.e., the data storage time range) and the type of data that needs to be written to the database (such as which signal names (or signal identifiers) can be stored in the database) in the high-frequency parameter configuration interface.

[0114] When the first collection time is within the preset data storage time range, and / or the data type to which the first data of the first vehicle at the first collection time belongs is within the preset data type table, the data storage module may write the first data of the first vehicle at the first collection time into the database. Exemplarily, the database server may set a longer life cycle (e.g., 30 days) for the first data written into the database.

[0115] Optionally, during the data storage process, the user can set some conditions for the data stored in the database, that is, the data stored in the database is associated with the user's configuration. For example, the user's configuration may include at least one of the following: a preset data storage time range (i.e., data within a certain period of time can be stored in the database, such as data from the most recent month can be stored in the database), a preset data type table (such as data of which signal names (or signal identifiers) can be stored in the database), the life cycle of data in the database, or whether consecutive identical data should be compressed for storage, etc.

[0116] Optionally, the above-mentioned intermediate proxy module, data playback module (including one or more of the data reading module, the data parsing module and the data storage module), the data query front-end module and the data storage module can all be implemented by software, or can all be implemented by hardware. Exemplarily, the implementation of the data playback module is introduced below by taking the data playback module as an example. Similarly, the implementation of the intermediate proxy module, the data query front-end module and the data storage module can refer to the implementation of the data playback module, which will not be repeated here.

[0117] When implemented by software, the data playback module may be an application or code block on a computing device (or control unit, etc.) with data query capabilities. The computing device may be at least one of a physical host, a virtual machine, a container, and the like. Furthermore, the computing device may be one or more. For example, the data playback module may be an application running on multiple hosts / virtual machines / containers.

[0118] When implemented by hardware, the data playback module may include at least one computing device, such as a server, etc. Alternatively, the data playback module may also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0119] In addition, it should be noted that the division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. The functional modules in the embodiments of the present application can be integrated into one module, or each module can exist physically separately, or two or more modules can be integrated into one module. For example, a data reading module, a data parsing module, and a data storage module can be integrated into one module, or a data reading module, a data parsing module, and a data storage module are the same module. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit.

[0120] After introducing the data query device, the specific implementation of the data query method in the embodiment of the present application is introduced in detail below.

[0121] Figure 3 A flow chart of a data query method provided in an embodiment of the present application. The method is applicable to Figure 1 Optionally, the method may be executed by a data query device or a component (such as a chip, a chip system or a circuit, etc.) that can support the data query device to implement the functions required by the method. Figure 1 The data query device 200 shown in the figure may also be a functional element (such as a plug-in, component or chip, etc.) with a data query function in the data query device, and the functional element has the function of implementing the data query method. In order to facilitate the introduction of the technical solution provided by the embodiment of the present application, the following is an example of a data query device executing a data query method. Optionally, the data query device may include an intermediate proxy module and a data playback module. Figure 3 As shown, the method includes:

[0122] Step 301: The intermediate proxy module in the data query device obtains a first request.

[0123] The first request is used to request to obtain first data of the first vehicle in the first time period.

[0124] Exemplarily, the first vehicle is vehicle A, the first time period is time period A belonging to xxxx year xx month xx day, and the first data is CAN signal data. In a possible implementation, when the data query device includes a data query front-end module, the data query front-end module can provide a data query interface to the user. If a certain user (such as a car company personnel) needs to query the CAN signal data of vehicle A in time period A located on xxxx year xx month xx day, the car company personnel can log in to the data query interface provided by the data query front-end module through the target application (such as a web browser) installed on the terminal device used, and can edit the data query requirements of vehicle A on the data query interface (such as vehicle identification (or vehicle name), whether to play back data or query time period, etc.). Afterwards, the car company personnel can submit the query requirements of vehicle A edited on the data query interface. In response to the submission operation of the car company personnel on the target application for the data query requirements of vehicle A, the data query front-end module can obtain the data query requirements of vehicle A. Then, the data query front-end module can generate a first request according to the data query requirements of vehicle A, and can send the first request to the intermediate proxy module. Exemplarily, the first request may include but is not limited to the vehicle identification (or vehicle name) of vehicle A, the query time period, etc.

[0125] In one example, a schematic diagram of a data query interface displayed on a target application can be seen in Figure 4a In this Figure 4a The data query interface shown in the figure shows some relevant data query information of the vehicles to be queried that the user needs to edit. For example, the user can enter the ID of vehicle A, the data query time of vehicle A (xx period of xx month xx day of xxxx year) and so on on the data query interface. Optionally, the user can also choose whether to replay the data on the data query interface. In this example, after selecting the query date xxxx year xx month xx day, the user can directly enter (or directly select) the xx period.

[0126] In another example, a schematic diagram of a data query interface displayed on a target application can be seen in Figure 4b In this Figure 4bIn the data query interface shown, some relevant data query information of the vehicles to be queried that users need to edit is displayed. For example, the user can enter the identification of vehicle A, the data query date of vehicle A (xx month xx day, xxxx) and the query time period (xx period) on the data query interface. Optionally, the user can also choose whether to play back the data on the data query interface. Among them, in this example, after the user selects the query date xxxx year xx month xx day, he can slide and select the xx period of the desired query on the time axis of the day provided in the data query interface (i.e., the time axis from 0 to 24 o'clock, similar to a clock, and a specific time period can be selected on the time axis, such as a few minutes to a few minutes). For example, when the user slides to select the xx period on the time axis, he can use the mouse to select a time point (such as a few minutes), then pull the mouse back and click to select another time point, so that a xx period of the desired query by the user can be formed.

[0127] In another possible implementation, when the data query device does not include a data query front-end module, if a user (such as a car manufacturer) needs to query the CAN signal data of vehicle A in time period A on xxxx-xx-xx-xxxx, the car manufacturer can use a terminal device to generate a first request based on the vehicle identification (or vehicle name) of vehicle A and time period A on xxxx-xx-xx-xxxx, and can send the first request to the intermediate proxy module through the terminal device used. Optionally, the intermediate proxy module can provide a data query interface to the car manufacturer personnel, or it may not provide a data query interface to the car manufacturer personnel.

[0128] Step 302: When the intermediate proxy module fails to obtain the first data from the database according to the first request, the intermediate proxy module sends a second request to the data playback module in the data query device. The data playback module receives the second request.

[0129] In a possible implementation, when the intermediate proxy module searches the database for first data of the first vehicle in the first time period according to the vehicle identification and the first time period of the first vehicle included in the first request, if the data query device includes a data query front-end module, the intermediate proxy module may send the first data to the data query front-end module, and the data query front-end module feeds back the first data to the user. If the data query device does not include a data query front-end module, the intermediate proxy module may feed back the first data to the user.

[0130] In another possible implementation, when the intermediate proxy module fails to find the first data of the first vehicle in the first time period in the database according to the vehicle identification and the first time period of the first vehicle included in the first request, the intermediate proxy module may generate a second request according to the vehicle identification and the first time period of the first vehicle, and may send the second request to the data playback module. The second request is used to request the playback of the original data of the first data. Exemplarily, the second request may include but is not limited to the vehicle identification, the first time period, etc. of the first vehicle.

[0131] Step 303: The data playback module obtains the original data from the data storage node according to the second request, and plays back the second data corresponding to the original data into the database.

[0132] Optionally, the implementation method of the data playback module obtaining the original data from the data storage node in step 303 can refer to the above Figure 2a The functions of the data playback module shown here will not be described in detail here.

[0133] Combine the following Figure 5 , the specific implementation process of the data playback module playing back the second data corresponding to the original data is introduced. Optionally, the data playback module may include a data reading module, a data parsing module and a data storage module. Figure 5 As shown, the method includes:

[0134] Step 501: The data reading module obtains original data of first data from a data storage node according to a second request, and stores the original data in a first playback queue.

[0135] Optionally, the specific implementation of the data reading module to perform the above step 501 can refer to the above Figure 2b The introduction of the functions of the data reading module shown will not be repeated here.

[0136] Step 502: The data parsing module obtains original data from the first playback queue, parses the original data to obtain second data, and stores the second data in the second playback queue.

[0137] Optionally, the specific implementation of the data analysis module to perform the above step 502 can refer to the above Figure 2b The introduction to the functions of the data analysis module shown here will not be repeated here.

[0138] Step 503: The data storage module obtains the second data from the second playback queue and writes the second data into the database.

[0139] Optionally, the specific implementation of the data storage module performing the above step 503 can be found in the above Figure 2bThe functions of the data storage module shown here will not be repeated here.

[0140] It can be seen from the above steps 501 to 503 that, through the collaborative work of the data reading module, the data parsing module and the data warehousing module, and with the help of the first playback queue and the second playback queue, a data playback channel can be established to connect the data storage node and the database, so that the original data can be automatically written from the data storage node to the database.

[0141] Step 304: The data playback module sends instruction information to the intermediate proxy module. The intermediate proxy module receives the instruction information.

[0142] In a possible implementation, after determining that the second data is played back into the database, the data playback module may send indication information to the intermediate proxy module. The indication information is used to indicate that the data playback is completed. Exemplarily, the indication information may be carried in a notification message or other messages.

[0143] In another possible implementation, the data playback module does not need to send instruction information to the intermediate proxy module. The intermediate proxy module polls the database in real time or at a set time interval to query the data of the first vehicle in the first time period (such as the second data).

[0144] Step 305: The intermediate agent module obtains the second data from the database according to the instruction information, and feeds back the second data to the user.

[0145] In a possible implementation, when the intermediate agent module obtains the indication information from the data playback module, the data (such as the second data) of the first vehicle in the first time period can be queried in the database according to the indication information. When the second data is queried, the intermediate agent module can obtain the second data from the database and feed the second data back to the user.

[0146] In one example, when the data query device includes a data query front-end module, the intermediate proxy module can send the second data to the data query front-end module, and the data query front-end module sends the second data to the terminal device used by the user, and the terminal device displays it to the user. Exemplarily, taking the intermediate proxy module as the middle-stage data docking microservice and the front-end data query module as the front-end microservice as an example, the middle-stage data docking microservice can encapsulate the queried data into a JSON object in a certain format, and send it to the front-end microservice via the HyperText Transfer Protocol (HTTP). The front-end microservice parses the JSON object, extracts the data therein, processes and converts it according to certain rules, generates a data structure suitable for front-end display, and then pushes it to the front-end page via the WebSocket protocol. The front-end page dynamically updates charts and lists based on the pushed data.

[0147] In another example, when the data query device does not include a data query front-end module, the intermediate agent module may send the second data to a terminal device used by the user, and the terminal device may display the second data to the user.

[0148] In another possible implementation, the intermediate proxy module may poll the database in real time or at a set time interval. When the database is found to contain data (such as the second data) of the first vehicle in the first time period, the intermediate proxy module may obtain the second data from the database and feed the second data back to the user.

[0149] It can be seen from the above steps 301 to 305 that by utilizing the data playback function of the data playback module, the data storage node and the database can be connected, so as to realize automatic playback (or automatic writing) of data from the data storage node to the database. In this way, the data query device can help users (such as automobile company personnel) to quickly and accurately query the required data. Of course, users can also query all complete historical data of the vehicle, thereby realizing efficient query and integrity query of data.

[0150] After introducing the specific implementation process of the data query device to query the relevant data of the vehicle, Figure 6 Taking vehicle identification as an example, the specific implementation process of the data query device storing the data collected by the vehicle (such as the original CAN signal data) is introduced. Optionally, the data query device may include a data storage module in addition to the intermediate proxy module and the data playback module. Figure 6 As shown, the method includes:

[0151] Step 601: The data storage module obtains raw data of the first vehicle at the first collection time from the first write queue.

[0152] Step 602: The data storage module determines, in the data storage node, a storage path corresponding to the original data of the first vehicle at the first collection time according to the vehicle identification of the first vehicle and the second time to which the first collection time belongs.

[0153] Step 603: The data storage module determines, from the storage directory corresponding to the storage path, a file for storing the original data of the first vehicle at the first collection time according to the vehicle identification of the first vehicle and the first collection time.

[0154] Step 604: The data storage module stores the vehicle identification of the first vehicle, the time of receiving the original data of the first vehicle at the first collection time, the first collection time, and the original data of the first vehicle at the first collection time in a file in a column storage manner.

[0155] Optionally, the specific implementation of the data storage module performing the above steps 601 to 604 can be referred to the above Figure 2d The functions of the data storage module are described here without further elaboration.

[0156] Step 605: The data analysis module obtains the original data of the first vehicle at the first collection time from the first write queue, analyzes the original data of the first vehicle at the first collection time, obtains the first data of the first vehicle at the first collection time, and stores the first data of the first vehicle at the first collection time to the second write queue.

[0157] Optionally, the specific implementation of the data analysis module to perform the above step 605 can refer to the above Figure 2d The introduction to the functions of the data analysis module shown here will not be repeated here.

[0158] Step 606: The data storage module obtains the first data of the first vehicle at the first collection time from the second writing queue, and writes the first data of the first vehicle at the first collection time into the database when determining that the first data of the first vehicle at the first collection time is high-frequency data.

[0159] Optionally, the specific implementation of the data storage module performing the above step 606 can be referred to above Figure 2d The functions of the data storage module shown here will not be repeated here.

[0160] It can be seen from the above steps 601 to 606 that the data storage module uses a column storage method to store the data collected by the vehicle (such as the original CAN signal data), which can facilitate the subsequent efficient data playback and data query. Moreover, the data storage module maintains the data collected by the vehicle in a file in a certain period (or a certain set period, such as 15 minutes), and after the expiration of the period (or the set period), it switches to the next new file to write the data collected by the vehicle in the future, so that the reading and writing efficiency of the file data can be improved, and the required data file can be quickly located according to the file name (or file identifier). In addition, by utilizing (or reusing) the data parsing function of the data parsing module and utilizing (or reusing) the data writing function of the data storage module, the data collected by the vehicle can be written into the database in a timely and effective manner, so that the user can quickly query the corresponding data (such as CAN signal data) according to the vehicle identifier and the query time period. Moreover, the data storage module writes the data into the database only when it is determined that the data is high-frequency data, so that the storage pressure and storage cost of the database can be reduced.

[0161] It should be noted that in the description of the present application, "at least one" refers to one or more, and "multiple" refers to two or more. "And / or" describes the association relationship of the associated objects, indicating that there may be three relationships, for example, A and / or B, which can represent: the situation where A exists alone, A and B exist at the same time, and B exists alone, wherein A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are an "or" relationship. "At least one of the following (individuals)" or its similar expression refers to any combination of these items, including any combination of single items (individuals) or plural items (individuals). For example, "at least one of A, B and C" includes A, B, C, AB, AC, BC or ABC. And, unless otherwise specified, the ordinal numbers such as "first", "second", and "third" mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the order, timing, priority or importance of multiple objects. In addition, the terms "including", "comprising", "having" and their variations appearing in the present application all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0162] In addition, it should be noted that each step involved in the above embodiments can be performed by a corresponding device, or by a chip, processor, or chip system in the device, and the embodiments of the present application do not limit them. The above embodiments are only described by taking the corresponding device as an example.

[0163] It should be noted that in the above embodiments, some steps can be selected for implementation, and the order of the steps in the diagram can be adjusted for implementation, and this application does not limit this. It should be understood that executing some steps in the diagram, adjusting the order of the steps, or combining them for specific implementation all fall within the scope of protection of this application.

[0164] It is understandable that, in order to implement the functions in the above embodiments, the various devices involved in the above embodiments include hardware structures and / or software modules corresponding to the execution of the various functions. It should be easily appreciated by those skilled in the art that, in combination with the units and method steps of the various examples described in the embodiments disclosed in this application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.

[0165] It should be noted that the "steps" in the embodiments of the present application are only for illustration, and are a method of expression used to better understand the embodiments, and do not constitute a substantial limitation on the execution of the scheme of the present application. For example, the "steps" can also be understood as "features". In addition, the steps do not constitute any limitation on the execution order of the scheme of the present application. Any changes in the order of steps, step merging, or step splitting made on this basis that do not affect the implementation of the overall scheme, and the resulting new technical solutions are also within the scope of the disclosure of the present application.

[0166] In a simple embodiment, those skilled in the art can imagine that the data query device in the above embodiments can be used Figure 7 The form shown.

[0167] like Figure 7 The data query device 700 shown includes at least one processor 702 and a communication interface 701. In an optional design, a memory 703 may also be included.

[0168] The specific connection medium between the processor 702 and the memory 703 is not limited in the embodiment of the present application.

[0169] In such Figure 7 In the data query device, the processor 702 can transmit data through the communication interface 701 when communicating with other devices.

[0170] When the communication device uses Figure 7 When the form shown is Figure 7 The processor 702 in the data query device 700 can call the computer execution instructions stored in the memory 703 so that the data query device 700 can execute any of the above method embodiments.

[0171] An embodiment of the present application also relates to a chip system, which includes a processor for calling a computer program or computer instructions stored in a memory so that the processor executes the method of any of the above embodiments.

[0172] In a possible implementation manner, the processor may be coupled to the memory through an interface.

[0173] In a possible implementation, the chip system may also directly include a memory, in which a computer program or computer instructions are stored.

[0174] For example, the memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM).

[0175] An embodiment of the present application also relates to a processor, which is used to call a computer program or computer instruction stored in a memory so that the processor executes the method described in any of the above embodiments.

[0176] For example, in the embodiment of the present application, the processor is an integrated circuit chip with signal processing capabilities. For example, the processor can be an FPGA, a general-purpose processor, a DSP, an ASIC or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, a system chip (system on chip, SoC), a CPU, a network processor (network processor, NP), a microcontroller (microcontroller unit, MCU), a PLD or other integrated chip, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiment of the present application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor are combined and performed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0177] It should be understood that the embodiments of the present application may be provided as a method, a system, or a computer program product.

[0178] Based on the same concept, the embodiment of the present application also provides a vehicle data query system, which may include a database, a data storage node, and a data query device. The data query device is used to implement the technical solution involved in the data query device in the above embodiment; the database is used to store the parsed data of one or more vehicles; and the data storage node is used to back up and store the original data of one or more vehicles.

[0179] Based on the same concept, an embodiment of the present application further provides a computer program product, which includes a computer program or instructions. When the computer program or instructions are executed on a computer, the computer executes the method provided in the above embodiment.

[0180] Based on the same concept, an embodiment of the present application also provides a computer-readable storage medium, in which a computer program or instruction is stored. When the computer program or instruction is executed by a computer, the computer executes the method provided in the above embodiment.

[0181] The storage medium may be any available medium that can be accessed by a computer. For example, but not limited to, a computer-readable medium may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer.

[0182] In the method provided in the embodiment of the present application, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can 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 the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, 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 computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, a solid state drive (SSD)).

[0183] The steps of the method described in the embodiments of the present application can be directly embedded in the hardware, the software unit executed by the processor, or the combination of the two. The software unit can be stored in RAM, ROM, EEPROM, register, hard disk, removable disk, CD-ROM or other storage media of any form in the art. Exemplarily, the storage medium can be connected to the processor so that the processor can read information from the storage medium and can write information to the storage medium. Optionally, the storage medium can also be integrated into the processor. The processor and the storage medium can be arranged in an ASIC.

[0184] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0185] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0186] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A data query device, characterized in that: The device is used to provide data query services for users, and the device includes: The intermediate proxy module is configured to obtain a first request, wherein the first request is used to request to obtain first data of a first vehicle in a first time period; when the first data is not obtained from the database, send a second request to the data playback module, wherein the second request is used to request to playback the original data of the first data; The data playback module is used to obtain the original data from the data storage node according to the second request, play back the second data corresponding to the original data into the database, and send indication information to the intermediate proxy module, where the indication information is used to indicate that the data playback is completed; The intermediate agent module is further used to obtain the second data from the database according to the indication information, and feed back the second data to the user.

2. The device according to claim 1, characterized in that The second request includes the vehicle identification of the first vehicle and the first time period; The data playback module, when acquiring the original data from the data storage node according to the second request, is specifically used to: Determining a storage path corresponding to the original data according to the vehicle identification of the first vehicle and the first time period; The original data is acquired from the data storage node according to the storage path.

3. The device according to claim 2, characterized in that The data playback module, when determining the storage path corresponding to the original data according to the vehicle identification of the first vehicle and the first time period, is specifically used to: Determine a first time to which the first time period belongs, where the first time is composed of a date to which the first time period belongs and an entire hour to which the first time period belongs; The storage path is generated according to the vehicle identification of the first vehicle and the first time.

4. The device according to any one of claims 1 to 3, characterized in that: The data playback module includes a data reading module, a data parsing module and a data storage module; The data reading module is used to obtain the original data from the data storage node and store the original data in the first playback queue; The data parsing module is used to obtain the original data from the first playback queue, parse the original data to obtain the second data, and store the second data in the second playback queue; The data storage module is used to obtain the second data from the second playback queue and store the second data in the database.

5. The device according to claim 4, characterized in that The data parsing module is further configured to, when the first write queue stores the raw data of the first vehicle at the first collection time, obtain the raw data of the first vehicle at the first collection time from the first write queue, parse the raw data of the first vehicle at the first collection time to obtain the first data of the first vehicle at the first collection time, and store the first data of the first vehicle at the first collection time in the second write queue, wherein the first collection time is included in the first time period; The data warehousing module is further used to obtain the first data of the first vehicle at the first collection time from the second write queue, and if the first collection time is within a preset data storage time range, the first data of the first vehicle at the first collection time is stored in the database, and / or if the data type to which the first data of the first vehicle at the first collection time belongs is within a preset data type table, the first data of the first vehicle at the first collection time is stored in the database.

6. The device according to claim 5, characterized in that The device also includes a data storage module; The data storage module is used to obtain the original data of the first vehicle at the first collection time from the first write queue, determine the storage path corresponding to the original data of the first vehicle at the first collection time in the data storage node according to the vehicle identification of the first vehicle and the second time to which the first collection time belongs, the second time being composed of the date to which the first collection time belongs and the full hour to which the first collection time belongs; and determine the file for storing the original data of the first vehicle at the first collection time in the storage directory corresponding to the storage path according to the vehicle identification of the first vehicle and the first collection time; The vehicle identification of the first vehicle, the reception time of the original data of the first vehicle at the first collection time, the first collection time, and the original data of the first vehicle at the first collection time are stored in the file in a column-type storage manner.

7. The device according to any one of claims 1 to 6, characterized in that: The device also includes a data query front-end module; The data query front-end module is used to provide a data query interface, obtain data query requirements from the data query interface, generate the first request based on the data query requirements, and send the first request to the intermediate agent module, wherein the data query interface is used to prompt the user to input the data query requirements, the data query requirements include data query parameters, and the data query parameters include one or more of vehicle identification, whether to play back data or query time period.

8. The device according to any one of claims 1 to 7, characterized in that: The time period between any full hour in a day and the nearest full hour after the full hour is divided into multiple set time periods, and the vehicle identification of the first vehicle and the multiple set time periods respectively constitute multiple different file identifications, and the file corresponding to the first file identification among the multiple different file identifications is used to store the original data of the first vehicle whose collection time is within the set time period corresponding to the first file identification.

9. The device according to any one of claims 1 to 8, characterized in that: The life cycle of the second data in the database is a first duration, the first duration is smaller than the second duration, the second duration is the life cycle of other data in the database except the third data, and the third data is data obtained via the data playback module.

10. The device according to any one of claims 1 to 9, characterized in that: The data included in the database is associated with the user's configuration, and the user's configuration includes at least one of the following: a preset data storage time range, a preset data type table, a life cycle of data in the database, or whether consecutive identical data is compressed and stored.

11. A data query method, characterized in that: Applied to a data query device, the data query device includes an intermediate proxy module and a data playback module, and the method includes: The intermediate agent module obtains a first request, where the first request is used to request to obtain first data of a first vehicle in a first time period; When the first data is not obtained from the database, the intermediate proxy module sends a second request to the data playback module, where the second request is used to request playback of original data of the first data; The data playback module obtains the original data from the data storage node according to the second request, and plays back the second data corresponding to the original data into the database; The data playback module sends indication information to the intermediate proxy module, where the indication information is used to indicate that the data playback is completed; The intermediate agent module obtains the second data from the database according to the indication information, and feeds back the second data to the user.

12. The method according to claim 11, characterized in that The second request includes the vehicle identification of the first vehicle and the first time period; When the data playback module obtains the original data from the data storage node according to the second request, the data playback module includes: The data playback module determines a storage path corresponding to the original data according to the vehicle identification of the first vehicle and the first time period; The data playback module obtains the original data from the data storage node according to the storage path.

13. The method according to claim 12, characterized in that The data playback module determines the storage path corresponding to the original data according to the vehicle identification of the first vehicle and the first time period, including: The data playback module determines a first time to which the first time period belongs, where the first time is composed of a date to which the first time period belongs and an entire hour to which the first time period belongs; The data playback module generates the storage path according to the vehicle identification of the first vehicle and the first time.

14. The method according to any one of claims 11 to 13, characterized in that: The data playback module includes a data reading module, a data parsing module and a data storage module; The method further comprises: The data reading module obtains the original data from the data storage node and stores the original data in the first playback queue; The data parsing module obtains the original data from the first playback queue, parses the original data to obtain the second data, and stores the second data in the second playback queue; The data storage module obtains the second data from the second playback queue and stores the second data in the database.

15. The method according to claim 14, characterized in that The method further comprises: When the first write queue stores the raw data of the first vehicle at the first collection time, the data parsing module obtains the raw data of the first vehicle at the first collection time from the first write queue, parses the raw data of the first vehicle at the first collection time, obtains the first data of the first vehicle at the first collection time, and stores the first data of the first vehicle at the first collection time in the second write queue, and the first collection time is included in the first time period; The data storage module obtains the first data of the first vehicle at the first collection time from the second writing queue; If the first collection time is within the preset data storage time range, the data storage module stores the first data of the first vehicle at the first collection time into the database; and / or If the data type to which the first data of the first vehicle at the first collection time belongs is in the preset data type table, the data storage module stores the first data of the first vehicle at the first collection time into the database.

16. The method according to claim 15, characterized in that The data query device also includes a data storage module; The method further comprises: The data storage module acquires the original data of the first vehicle at the first collection time from the first write queue; The data storage module determines, in the data storage node, a storage path corresponding to the original data of the first vehicle at the first collection time according to the vehicle identification of the first vehicle and a second time to which the first collection time belongs, wherein the second time is composed of a date to which the first collection time belongs and an entire hour to which the first collection time belongs; The data storage module determines, in the storage directory corresponding to the storage path, a file for storing the original data of the first vehicle at the first collection time according to the vehicle identification of the first vehicle and the first collection time; The data storage module stores the vehicle identification of the first vehicle, the reception time of the original data of the first vehicle at the first collection time, the first collection time, and the original data of the first vehicle at the first collection time in the file in a column-based storage manner.

17. The method according to any one of claims 11 to 16, characterized in that: The data query device also includes a data query front-end module; The method further comprises: The data query front-end module provides a data query interface, and the data query interface is used to prompt the user to input data query requirements, and the data query requirements include data query parameters, and the data query parameters include one or more of vehicle identification, whether to play back data, or query time period; The data query front-end module obtains the data query requirement from the data query interface, and generates the first request according to the data query requirement; The data query front-end module sends the first request to the intermediate proxy module.

18. The method according to any one of claims 11 to 17, characterized in that: The time period between any full hour in a day and the nearest full hour after the full hour is divided into multiple set time periods, and the vehicle identification of the first vehicle and the multiple set time periods respectively constitute multiple different file identifications, and the file corresponding to the first file identification among the multiple different file identifications is used to store the original data of the first vehicle whose collection time is within the set time period corresponding to the first file identification.

19. The method according to any one of claims 11 to 18, characterized in that: The life cycle of the second data in the database is a first duration, the first duration is smaller than the second duration, the second duration is the life cycle of other data in the database except the third data, and the third data is data obtained via the data playback module.

20. The method according to any one of claims 11 to 19, characterized in that: The data included in the database is associated with the user's configuration, and the user's configuration includes at least one of the following: a preset data storage time range, a preset data type table, a life cycle of data in the database, or whether consecutive identical data is compressed and stored.

21. A data query method, characterized in that: Applied to the intermediate proxy module, the method includes: Obtain a first request, where the first request is used to request to obtain first data of a first vehicle in a first time period; When the first data is not obtained from the database, sending a second request to the data playback module, where the second request is used to request playback of the original data of the first data; Receiving indication information from the data playback module, wherein the indication information is used to indicate that the data playback is completed; According to the indication information, the second data is acquired from the database, and the second data is fed back to the user.

22. A data query method, characterized in that: Applied to a data playback module, the method comprises: receiving a second request from the intermediate proxy module, the second request being used to request playback of original data of first data of the first vehicle in the first time period, the second request being generated by the intermediate proxy module when the first data is not obtained from the database; According to the second request, the original data is obtained from the data storage node, and second data corresponding to the original data is played back into the database; Sending indication information to the intermediate proxy module, wherein the indication information is used to indicate that the data playback is completed.

23. A vehicle data query system, characterized in that: It comprises a database, a data storage node and a data query device as described in any one of claims 1-10, wherein the data query device is used to execute the method as described in any one of claims 11-22.

24. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instruction. When the computer program or instruction is executed by a computer, the computer is enabled to perform the method according to any one of claims 11 to 22.

25. A computer program product, characterized in that The computer program product comprises a computer program or instructions, and when the computer program or instructions are run on a computer, the computer is caused to perform the method according to any one of claims 11 to 22.

26. A chip, characterized in that: The chip includes a processor, which is coupled to a memory and is used to execute a computer program or instruction stored in the memory. When the computer program or instruction is executed, the method as described in any one of claims 11 to 22 is implemented.

Citation Information

Cited By

  • Data query device and method

    EP4783034A1