Navigation methods, servers and terminals
By using event controllers and configuration files on the server side to determine navigation events, the problem of low iteration efficiency in navigation map application software is solved, enabling real-time upgrades and efficient iterations of navigation functions.
Patent Information
- Application Number
- CN202010176687.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-03-13
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2040-03-13
AI Technical Summary
In the existing technology, the process of modifying the plugins of navigation map application software and packaging a new version is time-consuming, which seriously affects the iteration efficiency of the software.
By deploying an event controller on the server side, navigation events are determined based on real-time navigation status information and preset event configuration files. The client then parses and broadcasts the content, enabling real-time upgrades of the navigation function without modifying the client code or restarting the service.
This improved the iteration efficiency and quality of navigation software, enabling navigation functions to take effect in real time and avoiding the need to release new versions.
Smart Images

Figure CN113390428B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of navigation technology, and more specifically, to a navigation method, server, and terminal. Background Technology
[0002] Currently, map navigation applications typically utilize various integrated plugins to implement their functions. When the application or its dependent online services experience issues, or when users request modifications to certain functions, these plugins must be modified. A new navigation map application is then packaged based on these modified plugins and released as a new version. This process is time-consuming and significantly impacts software iteration efficiency. Currently, no effective solution has been proposed to address these problems. Summary of the Invention
[0003] This application provides a navigation method, server, and terminal to at least solve the technical problem in related technologies where a new navigation map application software is packaged based on a modified plugin and then provided to users as a new version. This process is time-consuming and seriously affects the iteration efficiency of the software.
[0004] According to one aspect of the embodiments of this application, a navigation method is provided, comprising: sending real-time navigation status information of a navigable object to a server; receiving a navigation event returned by the server, wherein the navigation event is determined by an event controller deployed on the server based on the real-time navigation status information and a preset event configuration file, the event configuration file including: broadcasting rules and broadcasting content of the navigation event; parsing the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event; determining whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigable object, and broadcasting the broadcasting content of the navigation event when the rules are met.
[0005] According to another aspect of the embodiments of this application, a navigation method is also provided, comprising: receiving real-time navigation status information of a navigable object sent by a client; determining a navigation event based on the real-time navigation status information and a preset event configuration file by an event controller deployed in a server, wherein the event configuration file includes: broadcasting rules and broadcasting content of the navigation event; returning the navigation event to the client, wherein the navigation event is parsed by the client, and the client determines whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigable object, and broadcasting the broadcasting content of the navigation event when the rules are met.
[0006] According to another aspect of the embodiments of this application, a navigation method is also provided, comprising: acquiring a navigation event, wherein the navigation event is determined based on a preset event configuration file, the event configuration file including: broadcasting rules and broadcasting content of the navigation event; parsing the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event; determining whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object, and broadcasting the broadcasting content of the navigation event when the rules are met.
[0007] According to another aspect of the embodiments of this application, a server is also provided, comprising: a receiving module, configured to receive real-time navigation status information of a navigable object sent by a client; a processing module, configured to determine a navigation event based on the real-time navigation status information and a preset event configuration file through an event controller deployed in the server, wherein the event configuration file includes: broadcasting rules and broadcasting content of the navigation event; and a sending module, configured to return the navigation event to the client, wherein the navigation event is parsed by the client, and the client determines whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigable object, and broadcasts the broadcasting content of the navigation event when the rules are met.
[0008] According to another aspect of the embodiments of this application, a storage medium is also provided, the storage medium including a stored program, wherein the program controls the device where the storage medium is located to execute the above-described navigation method when it is running.
[0009] According to another aspect of the embodiments of this application, a processor is also provided, which is used to run a program, wherein the program executes the above-described navigation method when it runs.
[0010] According to another aspect of the embodiments of this application, a terminal is also provided, including: a processor; and a memory connected to the processor, configured to provide the processor with instructions to perform the following processing steps: sending real-time navigation status information of a navigated object to a server; receiving a navigation event returned by the server, wherein the navigation event is determined by an event controller deployed in the server based on the real-time navigation status information and a preset event configuration file, the event configuration file including: broadcasting rules and broadcasting content of the navigation event; parsing the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event; determining whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object, and broadcasting the broadcasting content of the navigation event when met.
[0011] In this embodiment of the application, after sending the real-time navigation status information of the navigated object to the server and receiving the navigation event returned by the server, the client can parse the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event, and determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object. If the rules are met, the broadcasting content of the navigation event is broadcast, thereby achieving the purpose of navigation.
[0012] It is noteworthy that in this embodiment, the event controller deployed on the server determines navigation events based on real-time navigation status information and preset event configuration files. The client can perform navigation by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration files on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality of online navigation and iteration efficiency. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0013] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software. Attached Figure Description
[0014] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0015] Figure 1 This is a hardware structure block diagram of a computer terminal for implementing a navigation method according to an embodiment of this application;
[0016] Figure 2 This is a schematic diagram of a computer terminal as a receiving end according to an embodiment of this application;
[0017] Figure 3 This is a flowchart of a navigation method according to Embodiment 1 of this application;
[0018] Figure 4 This is a schematic diagram of an optional navigation framework according to an embodiment of this application;
[0019] Figure 5 This is a schematic diagram of an optional multi-branch tree according to an embodiment of this application;
[0020] Figure 6 This is a flowchart of a navigation method according to Embodiment 2 of this application;
[0021] Figure 7 This is a flowchart of a navigation method according to Embodiment 3 of this application;
[0022] Figure 8 This is a schematic diagram of a terminal according to Embodiment 4 of this application;
[0023] Figure 9 This is a schematic diagram of a server according to Embodiment 5 of this application;
[0024] Figure 10 This is a schematic diagram of a terminal according to Embodiment 6 of this application;
[0025] Figure 11 This is a schematic diagram of a navigation system according to an embodiment of this application; and
[0026] Figure 12 This is a structural block diagram of a computer terminal according to an embodiment of this application. Detailed Implementation
[0027] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0028] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0029] Example 1
[0030] According to an embodiment of this application, a navigation method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Also, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0031] The method embodiment provided in Embodiment 1 of this application can be executed in a mobile terminal, computer terminal or similar computing device. Figure 1 A hardware structure block diagram of a computer terminal (or mobile device) for implementing a navigation method is shown. Figure 1 As shown, the computer terminal 10 (or mobile device 10) may include one or more processors 102 (shown as 102a, 102b, ..., 102n in the figure) (processor 102 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of a BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the aforementioned electronic device. For example, computer terminal 10 may also include... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.
[0032] It should be noted that the aforementioned one or more processors 102 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the computer terminal 10 (or mobile device). As with the processors described in the embodiments of this application, the data processing circuits serve as processor control (e.g., selection of a variable resistor termination path connected to an interface).
[0033] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the navigation method in this embodiment. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby realizing the above-mentioned navigation method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0034] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.
[0035] The display can be, for example, a touchscreen liquid crystal display (LCD) that allows the user to interact with the user interface of the computer terminal 10 (or mobile device).
[0036] Figure 1 The hardware structure block diagram shown can serve not only as an exemplary block diagram of the aforementioned computer terminal 10 (or mobile device), but also as an exemplary block diagram of the aforementioned server. In one optional embodiment, Figure 2 The use of the above is illustrated in a block diagram. Figure 1 The computer terminal 10 (or mobile device) shown is one embodiment of the transmitting end. For example... Figure 2 As shown, computer terminal 10 (or mobile device) can be connected to one or more navigation servers 20 via a data network connection or electronically. In an alternative embodiment, the computer terminal 10 (or mobile device) can be an in-vehicle device or a handheld terminal. The data network connection can be a local area network (LAN) connection, a wide area network (WAN) connection, an internet connection, or other types of data network connection. Computer terminal 10 (or mobile device) can perform network services to connect to a network service performed by a server (e.g., a security server) or a group of servers. The network server is a network-based user service, such as social networks, cloud resources, email, online payments, or other online applications.
[0037] Under the aforementioned operating environment, this application provides the following: Figure 3 The navigation method shown. Figure 3 This is a flowchart of a navigation method according to Embodiment 1 of this application. Figure 3 As shown, the method includes the following steps:
[0038] Step S302: Send the real-time navigation status information of the navigated object to the server.
[0039] The object being navigated in the above steps can refer to the user or the vehicle the user is riding in. This step can be performed by a client, which can be navigation software installed on the user's in-vehicle device or handheld terminal. The navigation software can provide a range of services such as location tracking, electronic eyes, turn signals, and traffic light information through satellite positioning on electronic maps. The handheld terminal can be a smartphone (including Android and iOS phones), tablet computer, PDA, mobile internet device (MID), PAD, or other terminal device, but is not limited to these. The server can be a navigation application server, for example, a cloud server, capable of providing navigation services to users. The server can provide various navigation functions, such as, but not limited to, electronic eyes, turn signals, traffic lights, and charging stations.
[0040] The real-time navigation status information mentioned above can include, but is not limited to, the navigation route and the user's real-time location obtained by the client after the user activates the navigation function on the client. The real-time location can be determined through satellite positioning on an electronic map, and the navigation route can be the route selected by the user before starting navigation, which the navigation software follows.
[0041] Step S304: Receive navigation events returned by the server. The navigation events are determined by the event controller deployed on the server based on real-time navigation status information and a preset event configuration file. The event configuration file includes the broadcast rules and broadcast content of the navigation events.
[0042] Different functions have different broadcast rules and broadcast content. Broadcast rules determine whether to broadcast, while broadcast content specifies the content to be broadcast, displayed, or executed after confirmation. For example, for a speed limit reminder function, the broadcast rule could be a condition for determining whether speeding has occurred, and the broadcast content could be a reminder to the user after confirming speeding. For different navigation functions, event configuration files can be pre-set to store the corresponding broadcast rules and content. By reading the event configuration file, the broadcast rules and content can be retrieved, and navigation events can be generated.
[0043] For the core business of navigation, for example, at a traffic light intersection, the user is informed to turn left about 100 - 50 meters in advance; the speed camera 2 kilometers ahead of the user is shown on the map; when there is congestion ahead, the user is informed to switch routes, etc. Through analysis, it can be concluded that navigation services can be classified into voice announcements, display presentations, and action events. Therefore, different navigation services can be described by a common event model, and thus a unified rule engine can be used for processing. The event controller in the above steps can determine navigation events using the common event model in the server, that is, the announcement rules and announcement content of different navigation events can be represented in a fixed format, making different navigation events adopt the same format. For example, a navigation event can adopt the following format: <event condition="announcement rule" voice="announcement content" / >, but not limited to this.
[0044] For example, take the Figure 4 navigation framework shown as an example for illustration. As Figure 4 shown, this framework can be divided into two parts: cloud and terminal. Here, the cloud refers to the server, and the terminal refers to the client device. The server can consist of an event controller and a rule generator. The event controller controls the rule generator to read different event configuration files, such as voice announcement configuration, speed camera display configuration, yaw action configuration, etc., and the event controller distributes the generated navigation events to the terminal for processing. The client device can consist of a rule parser and a processor. Among them, the processor can be divided into a voice announcement processor, a display processor, and an action processor.
[0045] In an optional embodiment, for the modification opinions feedback by users, the navigation functions that need to be modified can be determined. Engineers can write the corresponding event configuration files, add the set announcement rules and announcement content to the event configuration files. After obtaining the event configuration files, the event configuration files can be processed through the common event model to obtain the corresponding navigation events and distribute them to the client. Thus, most of the function iterations of the business can be completed in the cloud. For example, to add a reminder announcement for a charging pile, the engineer adds a charging station configuration on the server side and sets the announcement conditions and announcement content.
[0046] Step S306, parse the navigation event to obtain the announcement rule and announcement content of the navigation event.
[0047] In an optional embodiment, still taking the Figure 4 framework shown as an example, after the client receives the navigation event sent from the cloud, it can be converted into the corresponding announcement, display, and action content (that is, the announcement rule and announcement content are obtained) through a unified rule parser, thus completing all navigation logics.
[0048] Step S308: Based on the real-time navigation status information of the navigated object, determine whether the broadcasting rules of the corresponding navigation event are met. If they are met, broadcast the broadcasting content of the navigation event.
[0049] In one optional embodiment, during the user's or vehicle's operation, parameters such as speed and position can be detected in real time. These detected parameters are compared with the broadcast rules to determine if the rules are valid. If valid, the system broadcasts, displays, or performs actions based on the broadcast content to achieve the navigation objective. In other words, the client only needs to determine if the broadcast rules are valid to execute the broadcast content; it does not need to know the specific navigation functions corresponding to the broadcast rules and content.
[0050] In this embodiment of the application, after sending the real-time navigation status information of the navigated object to the server and receiving the navigation event returned by the server, the client can parse the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event, and determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object. If the rules are met, the broadcasting content of the navigation event is broadcast, thereby achieving the purpose of navigation.
[0051] It is noteworthy that in this embodiment, the event controller deployed on the server determines navigation events based on real-time navigation status information and preset event configuration files. The client can perform navigation by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration files on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality of online navigation and iteration efficiency. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0052] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0053] In the above embodiments of this application, the server further deploys a rule generator, and the event controller determines the specific aspects based on real-time navigation status information and preset event configuration files, including: the event controller controls the rule generator to combine the conditional expressions and broadcast content corresponding to the broadcast rules to obtain navigation events based on real-time navigation status information and preset event configuration files.
[0054] The broadcast rules in the above steps usually include multiple conditions, that is, the broadcast rules are combined conditions. Therefore, the representation of the broadcast rules should be both simple and general, and also highly visual for convenient subsequent maintenance. In an optional embodiment, a conditional expression closer to natural language can be selected for description. The conditional expression is composed of conditional operators, including: greater than ">", less than "<", equal to "==", not equal to "!=", and "& &", and or "||". All broadcast rules can be assembled into a string condition and sent as a rule.
[0055] For example, on a highway, if the vehicle speed exceeds 120 km / h, it is necessary to remind the user that they are speeding and pay attention to slow down. At this time, the corresponding conditional expression is: (roadclass == 0) && (speed > 120), where roadclass equal to 0 represents on the highway; the broadcast content is: You are speeding, please pay attention to slow down. The further generated navigation event is: <event condition = "(roadclass == 0) && (speed > 120)" voice = "You are speeding, please pay attention to slow down" / >.
[0056] Another example, in a school section, if it is from 7 to 9 in the morning and from 17 to 19 in the afternoon, it is necessary to prompt the user to pay attention to avoidance. At this time, the corresponding conditional expression is (type == 17) && (time == [7, 9] || time == [17, 19]), where type == 17 represents the school section; the broadcast content is "Passing through a school section ahead, please pay attention to avoidance". The further generated navigation event is: <event condition = "(type == 17) && (time == [7, 9] || time == [17, 19])" voice = "Passing through a school section ahead, please pay attention to avoidance" / >.
[0057] In the above embodiments of the present application, when there are multiple event configuration files, the combined navigation events returned by the receiving server are received, where the combined navigation events are obtained by the event controller combining multiple navigation events.
[0058] In an optional embodiment, the number of newly added or modified navigation functions is often more than one. At this time, a general event model can be used to process the event configuration files of each navigation function, describe the broadcast rules as conditional expressions, combine the conditional expressions and the broadcast content to obtain navigation events, and further combine all navigation events to obtain the combined navigation events finally sent to the client.
[0059] For example, the navigation function includes: "On highways, if the vehicle speed exceeds 120km / h, remind the user that they are speeding and should slow down," and "In school zones, if it is between 7-9 am and 5-7 pm, remind the user to avoid them." The generated combined navigation events are as follows:
[0060] <navi>
[0061] <event condition="(roadclass==0)&&(speed> 120) "voice = "You are speeding, please slow down" / >
[0062] < / navi>
[0063] <facility>
[0064] <event condition="(type == 17) && (time == [7,9] || time == [17,19])" voice="School section ahead, please pay attention and avoid" / >
[0065] < / facility>
[0066] It should be noted that the above-mentioned event configuration file can also be a single file, which configures the broadcast rules and broadcast content for multiple navigation events. The event controller can hit one or more navigation events in the event configuration file based on real-time navigation status information.
[0067] In the above embodiments of this application, the real-time navigation status information includes: the real-time location of the navigated object and the navigation route. Step S308, based on the real-time navigation status information of the navigated object, determines whether the broadcasting rules of the corresponding navigation event are met, including:
[0068] Step S3082: Generate a multi-branch tree based on the broadcasting rules, wherein each tree node of the multi-branch tree is used to represent one of the following contents contained in the conditional expression corresponding to the broadcasting rule: conditional variable, numerical value, and operator.
[0069] Step S3084: Based on the real-time location and navigation route, traverse the multi-branch tree to obtain the traversal result of each tree node. The traversal result is used to characterize whether the real-time location and navigation route satisfy the corresponding tree node.
[0070] Step S3086: If the traversal result of each tree node is satisfied with the corresponding tree node, determine the conditional expression corresponding to the broadcast rule that satisfies the corresponding navigation event.
[0071] In one alternative embodiment, a general parser can be pre-integrated on the client to analyze whether the condition rules are true. Specifically, a multi-branch tree can be used to describe the broadcast rules, breaking down the combined conditions to obtain each node of the multi-branch tree. Further, by recursively determining whether each node is true, the final traversal result can be obtained.
[0072] For example, in the conditional expression ((a>1)||((b<2)&&(c==3)))&&(d==4), the condition variables include a, b, c, and d, the values include 1, 2, 3, and 4, and the operators include >, <, &&, ||, and ==. The corresponding multi-way tree is as follows: Figure 5 As shown.
[0073] In the above embodiments of this application, the method further includes the following steps during the traversal of the multi-way tree:
[0074] Step S310: Determine whether the traversal result corresponding to the current tree node is stored locally. After each tree node is traversed, the traversal result corresponding to each tree node is stored.
[0075] Step S312: If the traversal result corresponding to the current tree node is stored, then obtain the traversal result corresponding to the current tree node and continue traversing the next tree node.
[0076] Step S314: If the traversal result corresponding to the current tree node is not stored, determine whether the current tree node is satisfied based on the real-time location and navigation route.
[0077] In this application embodiment, the broadcast rule is a combination of conditions, which includes multiple conditions. Different broadcast rules may contain the same conditions. For example, one broadcast rule is: speeding voice broadcast on the highway, and another broadcast rule is: electronic eye display on the highway. Both broadcast rules contain the condition "on the highway".
[0078] Given the same conditions, the corresponding tree nodes are identical, and the corresponding traversal results are also identical. To avoid repeated traversal of tree nodes and further improve navigation efficiency, in one optional embodiment, during the traversal of a multi-branch tree, the traversal result corresponding to each tree node can be stored. This allows for direct reading of the traversal result corresponding to the same tree node during the traversal of the next multi-branch tree, and continued traversal of other tree nodes.
[0079] In the above embodiments of this application, the event configuration file is obtained by the server according to a first preset period or after receiving real-time navigation status information.
[0080] The first preset period can be set according to actual needs. If the navigation function updates frequently, the first preset period can be set to a shorter period; if the navigation function updates frequently, the first preset period can be set to a longer period.
[0081] In one alternative embodiment, to ensure that newly added or modified event configuration files can respond in real time, the server can determine whether to add or modify the event configuration file after receiving feedback from the user. At this time, the server can obtain the event configuration file, generate the corresponding navigation event, and send it to the client for execution.
[0082] In another alternative embodiment, to avoid the event configuration file being updated multiple times and the server frequently issuing navigation events, and to ensure that no navigation events are missed, the server can periodically obtain the event configuration file, generate the corresponding navigation events, and issue them to the client for execution.
[0083] In the above embodiments of this application, navigation events are returned by the server according to a second preset period.
[0084] The second preset period can be set according to actual needs. If the navigation function updates frequently, the second preset period can be set to a shorter period; if the navigation function updates frequently, the second preset period can be set to a longer period.
[0085] In one alternative embodiment, to ensure that newly added or modified event configuration files can respond in real time, the server can immediately send them to the client for execution.
[0086] In another alternative embodiment, to avoid frequent updates to the event configuration file and frequent dispatch of navigation events by the server, the server can store each generated navigation event and periodically package and dispatch all generated navigation events to the client for execution. It should be noted that to avoid duplicate dispatch of navigation events, the dispatched navigation events can be deleted after each dispatch.
[0087] In the above embodiments of this application, step S304, receiving the navigation event returned by the server, includes one of the following:
[0088] Step S3042: Receive navigation events returned by the server according to the second preset cycle.
[0089] Step S3044: Trigger the client to generate a receive instruction, and receive the navigation event returned by the server based on the receive instruction.
[0090] In one alternative embodiment, to avoid the client receiving navigation events from the server too frequently, the client can periodically retrieve the generated navigation events from the server.
[0091] In another alternative embodiment, after each navigation event is generated, the server may first send an update prompt message for the user to confirm. After the user confirms that an update needs to be performed on the client, the user performs the operation on the client, triggering the client to generate a receiving instruction, and then obtains the generated navigation event from the server based on the receiving instruction.
[0092] In the above embodiments of this application, before determining whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object in step S308, the method further includes the following steps:
[0093] Step S316: Determine if there is a historical broadcast rule that is the same as the broadcast rule on the local machine.
[0094] Step S318: If there is no historical broadcast rule that is the same as the broadcast rule, output a prompt message.
[0095] Step S320: Receive the response information corresponding to the prompt information.
[0096] Step S322: Based on the response information, determine whether to base it on the real-time navigation status information and whether the broadcasting rules of the corresponding navigation event are met.
[0097] The prompts in the above steps are used to notify the user that a navigation function has been added or modified, and the user can determine whether they need to use the navigation function. If the user confirms that they need to use the navigation function, the client can generate a confirmation response; if the user confirms that they do not need to use the navigation function, the client can generate a cancellation response.
[0098] For newly added or modified event configuration files, the server will send the generated navigation events to each client. However, not every user needs the newly added or modified navigation function. In one optional embodiment, before executing the navigation function, it can first be determined whether the navigation function is a newly added or modified navigation function by checking whether the client has the same broadcast rules stored locally. If the same broadcast rules are stored locally, it is determined that the navigation function is not a newly added or modified navigation function, and the navigation function can be executed directly. If the same broadcast rules are not stored locally, it is determined that the navigation function is a newly added or modified navigation function, and a prompt message can be output for the user to confirm. After receiving the confirmation response, the broadcast rules and broadcast content corresponding to the navigation function can be stored, and it can be determined whether the broadcast rules of the corresponding navigation event are met based on the real-time location and navigation route. After receiving the cancellation response, the broadcast rules and broadcast content corresponding to the navigation function can be discarded directly.
[0099] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0100] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0101] Example 2
[0102] According to an embodiment of this application, an embodiment of a navigation method is also provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0103] Figure 6 This is a flowchart of a navigation method according to Embodiment 2 of this application. Figure 6 As shown, the method includes the following steps:
[0104] Step S602: Receive the real-time navigation status information of the navigated object sent by the client.
[0105] The above steps can be performed by a server, which can be a navigation application server, such as a cloud server, capable of providing navigation services to users. The server can provide various navigation functions, such as, but not limited to, electronic eyes, turn signals, traffic lights, and charging stations.
[0106] The object being navigated in the above steps can refer to the user or the vehicle the user is riding in. The user can navigate using navigation software installed on their in-vehicle device or handheld terminal. The navigation software can provide a range of services, including location tracking, electronic eyes, turn signals, and traffic light information, through satellite positioning on electronic maps. The handheld terminal can be a smartphone (including Android and iOS phones), tablet computer, PDA, mobile internet device (MID), PAD, or other terminal devices, but is not limited to these.
[0107] The real-time navigation status information in the above steps can be the navigation route, the user's real-time location, etc. obtained by the client after the user enables the navigation function on the client, but is not limited thereto. The real-time location can be determined by satellite positioning of the electronic map, and the navigation route can be the route that the user selects to travel before starting navigation, and the navigation software navigates according to this route.
[0108] Step S604: Based on the real-time navigation status information and the preset event configuration file, determine the navigation event through the event controller deployed in the server. The event configuration file includes: the broadcast rules and broadcast content of the navigation event.
[0109] Different functions have different broadcast rules and broadcast content. The broadcast rules are used to determine whether to broadcast, and the broadcast content is used for the content to be broadcast, displayed or acted after it is determined that broadcasting is required. For example, for the speed limit reminder function, the broadcast rule can be the condition for judging whether to exceed the speed limit, and the broadcast content can be the content for reminding the user that they have exceeded the speed limit after it is determined that the user has exceeded the speed limit. For different navigation functions, the event configuration file can be preset, and the corresponding broadcast rules and broadcast content are stored therein. By reading the event configuration file, the broadcast rules and broadcast content can be obtained, and then the navigation event can be generated.
[0110] For the core business of navigation, for example, at a traffic light intersection, inform the user to turn left about 100 - 50 meters in advance; display the electronic eye 2 kilometers ahead of the user on the map; inform the user to switch the route when there is congestion ahead, etc. Through analysis, it can be seen that the navigation business can be summarized as voice broadcast, display disclosure and action events. Therefore, different navigation services can be described by a general event model, so that a unified rule engine can be used for processing. The event controller in the above steps can use the general event model in the server to determine the navigation event, that is, the broadcast rules and broadcast content of different navigation events can be represented in a fixed format, so that different navigation events adopt the same format. For example, the navigation event can adopt the following format: <event condition = "broadcast rule" voice = "broadcast content" / >, but is not limited thereto.
[0111] Step S606: Return the navigation event to the client. The navigation event is parsed by the client, and the client determines whether it meets the broadcast rules of the corresponding navigation event based on the real-time navigation status information of the navigated object. When it meets, the broadcast content of the navigation event is broadcast.
[0112] In this embodiment of the application, after receiving the real-time navigation status information of the navigable object sent by the client, the event controller deployed on the server can determine the navigation event based on the real-time navigation status information and the preset event configuration file, and return it to the client. Thus, the client can determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigable object. If the rules are met, the broadcasting content of the navigation event is broadcast to achieve the purpose of navigation.
[0113] It is noteworthy that in this embodiment, the event controller deployed on the server determines navigation events based on real-time navigation status information and preset event configuration files. The client can perform navigation by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration files on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality of online navigation and iteration efficiency. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0114] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0115] In the above embodiments of this application, the server further deploys a rule generator. Step S604 involves determining navigation events based on real-time navigation status information and a preset event configuration file using an event controller deployed on the server, including:
[0116] Step S6042: The event controller combines the conditional expression and broadcast content corresponding to the broadcast rule based on the real-time navigation status information and the preset event configuration file control rule generator to obtain the navigation event.
[0117] The broadcast rules in the above steps typically contain multiple conditions; that is, the broadcast rules are combined conditions. Therefore, the representation of the broadcast rules needs to be simple and universal, as well as highly visual to facilitate subsequent maintenance. In one optional embodiment, conditional expressions that are closer to natural language can be used for description. Conditional expressions are composed of conditional operators, including: greater than ">", less than "<", equal to "==", not equal to "!=", AND "&&", and OR "||". All broadcast rules can be assembled into a single string, `condition`, as the rule for distribution.
[0118] In the above embodiments of this application, when there are multiple event configuration files, the method further includes:
[0119] Step S608: Combine multiple navigation events through the event controller.
[0120] Step S610: Return the combined navigation event to the client.
[0121] In the above embodiments of this application, the method further includes one of the following:
[0122] Step S612: Obtain the event configuration file according to the first preset cycle.
[0123] The first preset period in the above steps can be set according to actual needs. If the navigation function updates frequently, the first preset period can be set to a shorter period; if the navigation function updates frequently, the first preset period can be set to a longer period.
[0124] Step S614: After receiving the real-time navigation status information, obtain the event configuration file.
[0125] In the above embodiments of this application, step S606, returning the navigation event to the client, includes:
[0126] Step S6062: Return navigation events to the client according to the second preset cycle.
[0127] The second preset period in the above steps can be set according to actual needs. If the navigation function updates frequently, the second preset period can be set to a shorter period; if the navigation function updates frequently, the second preset period can be set to a longer period.
[0128] It should be noted that the preferred implementation methods involved in the above embodiments of this application are the same as the solutions, application scenarios and implementation processes provided in Embodiment 1, but are not limited to the solutions provided in Embodiment 1.
[0129] Example 3
[0130] According to an embodiment of this application, an embodiment of a navigation method is also provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0131] The above method can be executed by an in-vehicle device or a handheld terminal installed with a client. The client can be a navigation software installed on the in-vehicle or handheld terminal. The navigation software can provide a series of services such as positioning via satellite of an electronic map, electronic eye warnings, turn-by-turn announcements, traffic light notifications, etc. The handheld terminal can be a smart phone (including Android phones, iOS phones, etc.), a tablet computer, a personal digital assistant, a Mobile Internet Device (MID), a PAD, or other terminal devices, but is not limited thereto.
[0132] Figure 7 It is a flowchart of a navigation method according to Embodiment 3 of the present application. As Figure 7 shown, the method includes the following steps:
[0133] Step S702: Obtain a navigation event. The navigation event is determined based on a preset event configuration file, which includes: the announcement rule and announcement content of the navigation event.
[0134] Different functions have different announcement rules and announcement contents. The announcement rule is used to determine whether to make an announcement, and the announcement content is used for the content to be announced, displayed, or acted upon after it is determined that an announcement is required. For example, for the speed limit reminder function, the announcement rule can be the condition for judging whether speeding occurs, and the announcement content can be the content to remind the user that they are speeding after it is determined that the user is speeding. For different navigation functions, an event configuration file can be preset in advance, and the corresponding announcement rules and announcement contents can be stored therein. By reading the event configuration file, the announcement rules and announcement contents can be obtained, and then a navigation event can be generated.
[0135] For the core services of navigation, for example, at a traffic light intersection, inform the user to turn left about 100 - 50 meters in advance; display an electronic eye about 2 kilometers ahead of the user on the map; when there is congestion ahead, inform the user to switch routes, etc. Through analysis, it can be seen that navigation services can be classified into voice announcements, display notifications, and action events. Therefore, different navigation services can be described by a common event model, so that a unified rule engine can be used for processing. That is, the announcement rules and announcement contents in navigation functions can be represented in a fixed format, so that different navigation events adopt the same format. For example, a navigation event can adopt the following format: <event condition = "announcement rule" voice = "announcement content" / >, but is not limited thereto.
[0136] Step S704: Parse the navigation event to obtain the announcement rule and announcement content of the navigation event.
[0137] Step S706: Based on the real-time navigation status information of the navigated object, determine whether the broadcasting rules of the corresponding navigation event are met. If they are met, broadcast the broadcasting content of the navigation event.
[0138] The real-time navigation status information mentioned above can include, but is not limited to, the navigation route and the user's real-time location obtained by the client after the user activates the navigation function on the client. The real-time location can be determined through satellite positioning on an electronic map, and the navigation route can be the route selected by the user before starting navigation, which the navigation software follows.
[0139] In this embodiment of the application, after obtaining a navigation event, the navigation event can be parsed to obtain the broadcasting rules and broadcasting content of the navigation event. Based on the real-time navigation status information of the navigated object, it can be determined whether the broadcasting rules of the corresponding navigation event are met. If they are met, the broadcasting content of the navigation event is broadcast, thereby achieving the purpose of navigation.
[0140] It is noteworthy that in this embodiment, navigation events are determined based on a preset event configuration file, and navigation can be performed by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration file on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality and iteration efficiency of online navigation. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0141] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0142] In the above embodiments of this application, the real-time navigation status information includes: the real-time location of the navigated object and the navigation route. Step S706, based on the real-time navigation status information of the navigated object, determines whether the broadcasting rules of the corresponding navigation event are met, including:
[0143] Step S7062: Generate a multi-branch tree based on the broadcasting rules, wherein each tree node of the multi-branch tree is used to represent one of the following contents contained in the conditional expression corresponding to the broadcasting rule: conditional variable, numerical value, and operator.
[0144] Step S7064: Based on the real-time location and navigation route, traverse the multi-branch tree to obtain the traversal result of each tree node. The traversal result is used to characterize whether the real-time location and navigation route satisfy the corresponding tree node.
[0145] Step S7066: If the traversal result of each tree node is satisfied with the corresponding tree node, determine the conditional expression corresponding to the broadcast rule that satisfies the corresponding navigation event.
[0146] In the above embodiments of this application, the method further includes the following steps during the traversal of the multi-way tree:
[0147] Step S708: Determine whether the traversal result corresponding to the current tree node is stored locally. After each tree node is traversed, the traversal result corresponding to each tree node is stored.
[0148] Step S710: If the traversal result corresponding to the current tree node is stored, then obtain the traversal result corresponding to the current tree node and continue traversing the next tree node.
[0149] Step S712: If the traversal result corresponding to the current tree node is not stored, determine whether the current tree node is satisfied based on the real-time location and navigation route.
[0150] In the above embodiments of this application, step S702, obtaining the navigation event, includes one of the following:
[0151] Step S7022: Obtain navigation events according to the second preset cycle.
[0152] The second preset period in the above steps can be set according to actual needs. If the navigation function updates frequently, the second preset period can be set to a shorter period; if the navigation function updates frequently, the second preset period can be set to a longer period.
[0153] Step S7024: Obtain navigation events based on the input real-time navigation status information.
[0154] The real-time navigation status information mentioned above can include, but is not limited to, the navigation route and the user's real-time location obtained by the client after the user activates the navigation function on the client. The real-time location can be determined through satellite positioning on an electronic map, and the navigation route can be the route selected by the user before starting navigation, which the navigation software follows.
[0155] In the above embodiments of this application, before determining whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object in step S706, the method further includes the following steps:
[0156] Step S714: Determine if there is a historical broadcast rule that is the same as the broadcast rule on the local machine.
[0157] Step S716: If there is no historical broadcast rule that is the same as the broadcast rule, output a prompt message.
[0158] Step S718: Receive the response information corresponding to the prompt information.
[0159] Step S720: Based on the response information, determine whether to base it on the real-time navigation status information and whether the broadcast rules for the corresponding navigation event are met.
[0160] The prompts in the above steps are used to notify the user that a navigation function has been added or modified, and the user can determine whether they need to use the navigation function. If the user confirms that they need to use the navigation function, the client can generate a confirmation response; if the user confirms that they do not need to use the navigation function, the client can generate a cancellation response.
[0161] It should be noted that the preferred implementation methods involved in the above embodiments of this application are the same as the solutions, application scenarios and implementation processes provided in Embodiment 1, but are not limited to the solutions provided in Embodiment 1.
[0162] Example 4
[0163] According to an embodiment of this application, a terminal for implementing the above-described navigation method is also provided, such as... Figure 8 As shown, the terminal 800 includes: a sending module 802, a first receiving module 804, a parsing module 806, and a navigation module 808.
[0164] The sending module 802 is used to send the real-time navigation status information of the navigated object to the server; the first receiving module 804 is used to receive the navigation event returned by the server, wherein the navigation event is determined by the event controller deployed in the server based on the real-time navigation status information and the preset event configuration file, the event configuration file including: the broadcasting rules and broadcasting content of the navigation event; the parsing module 806 is used to parse the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event; the navigation module 808 is used to determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object, and if so, broadcast the broadcasting content of the navigation event.
[0165] It should be noted that the aforementioned sending module 802, first receiving module 804, parsing module 806, and navigation module 808 correspond to steps S302 to S308 in Embodiment 1. The four modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the aforementioned modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0166] In this embodiment of the application, after sending the real-time navigation status information of the navigated object to the server and receiving the navigation event returned by the server, the client can parse the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event, and determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object. If the rules are met, the broadcasting content of the navigation event is broadcast, thereby achieving the purpose of navigation.
[0167] It is noteworthy that in this embodiment, the event controller deployed on the server determines navigation events based on real-time navigation status information and preset event configuration files. The client can perform navigation by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration files on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality of online navigation and iteration efficiency. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0168] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0169] In the above embodiments of this application, the real-time navigation status information includes: the real-time location of the navigated object and the navigation route, and the navigation module includes: a generation unit, a traversal unit and a navigation unit.
[0170] The generation unit is used to generate a multi-branch tree based on the broadcasting rules. Each tree node of the multi-branch tree is used to represent one of the following contents contained in the conditional expression corresponding to the broadcasting rule: conditional variable, numerical value, and operator. The traversal unit is used to represent whether the real-time position and navigation route satisfy the corresponding tree node. The navigation unit is used to determine the conditional expression corresponding to the broadcasting rule that satisfies the corresponding navigation event when the traversal result of each tree node is satisfied.
[0171] It should be noted that the above-mentioned generation unit, traversal unit, and navigation unit correspond to steps S3082 to S3086 in Embodiment 1. The three units and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0172] In the above embodiments of this application, the terminal further includes: a first judgment module, an acquisition module, and a first determination module.
[0173] The first judgment module is used to determine whether the traversal result corresponding to the current tree node is stored locally. After each tree node is traversed, the traversal result corresponding to each tree node is stored. The acquisition module is used to acquire the traversal result corresponding to the current tree node if it is stored, and continue to traverse the next tree node. The first determination module is used to determine whether the current tree node is satisfied based on the real-time navigation status information if the traversal result corresponding to the current tree node is not stored.
[0174] It should be noted that the first judgment module, acquisition module, and first determination module mentioned above correspond to steps S310 to S314 in Embodiment 1. The three modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0175] In the above embodiments of this application, the first receiving module includes one of the following: a first receiving unit and a processing unit.
[0176] The first receiving unit is used to receive navigation events returned by the server according to a second preset period; the processing unit is used to trigger the client to generate a receiving instruction, and receive the navigation events returned by the server based on the receiving instruction.
[0177] It should be noted that the first receiving unit and processing unit mentioned above correspond to steps S3042 to S3044 in Embodiment 1. The two units and the corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0178] In the above embodiments of this application, the terminal further includes: a second judgment module, an output module, a second receiving module, and a second determination module.
[0179] The second judgment module is used to determine whether there is a historical broadcast rule that is the same as the broadcast rule locally; the output module is used to output a prompt message if there is no historical broadcast rule that is the same as the broadcast rule; the second receiving module is used to receive the response information corresponding to the prompt message; the second determining module is also used to determine whether the broadcast rule of the corresponding navigation event is met based on the response information and the real-time navigation status information.
[0180] It should be noted that the second judgment module, output module, second receiving module, and second determining module mentioned above correspond to steps S316 to S322 in Embodiment 1. The four modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0181] It should be noted that the preferred implementation methods involved in the above embodiments of this application are the same as the solutions, application scenarios and implementation processes provided in Embodiment 1, but are not limited to the solutions provided in Embodiment 1.
[0182] Example 5
[0183] According to an embodiment of this application, a server for implementing the above-described navigation method is also provided, such as... Figure 9 As shown, the server 900 includes: a receiving module 902, a processing module 904, and a sending module 906.
[0184] The receiving module 902 is used to receive real-time navigation status information of the navigable object sent by the client; the processing module 904 is used to determine the navigation event based on the real-time navigation status information and the preset event configuration file through the event controller deployed in the server, wherein the event configuration file includes: the broadcasting rules and broadcasting content of the navigation event; the sending module 906 is used to return the navigation event to the client, wherein the navigation event is parsed by the client, and the client determines whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigable object, and broadcasts the broadcasting content of the navigation event when the rules are met.
[0185] It should be noted that the receiving module 902, processing module 904, and sending module 906 mentioned above correspond to steps S602 to S606 in Embodiment 2. The three modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0186] In this embodiment of the application, after receiving the real-time navigation status information of the navigable object sent by the client, the event controller deployed on the server can determine the navigation event based on the real-time navigation status information and the preset event configuration file, and return it to the client. Thus, the client can determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigable object. If the rules are met, the broadcasting content of the navigation event is broadcast to achieve the purpose of navigation.
[0187] It is noteworthy that in this embodiment, the event controller deployed on the server determines navigation events based on real-time navigation status information and preset event configuration files. The client can perform navigation by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration files on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality of online navigation and iteration efficiency. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0188] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0189] In the above embodiments of this application, the server is further deployed with a rule generator, and the processing module includes a combination unit.
[0190] The combination unit is used to combine the conditional expressions and broadcast content corresponding to the broadcast rules through the event controller based on real-time navigation status information and preset event configuration files to obtain navigation events.
[0191] It should be noted that the above-mentioned combined unit corresponds to step S6042 in Embodiment 2. This unit implements the same instance and application scenario as the corresponding step, but is not limited to the content disclosed in Embodiment 1. It should also be noted that the above module, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0192] In the above embodiments of this application, when there are multiple navigation functions, the device further includes a combination module.
[0193] The second combining unit is used to combine multiple navigation events through the event controller; the sending module is also used to return the combined navigation events to the client.
[0194] It should be noted that the above-mentioned combination module and sending module correspond to steps S608 to S610 in Embodiment 2. The two modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should be noted that the above-mentioned modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0195] In the above embodiments of this application, the device further includes one of the following: a first acquisition module and a second acquisition module.
[0196] The first acquisition module is used to acquire the event configuration file according to a first preset period; the second acquisition module is used to acquire the event configuration file after receiving the real-time navigation status information.
[0197] It should be noted that the first acquisition module and the second acquisition module mentioned above correspond to steps S612 to S614 in Embodiment 2. The two modules and the corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0198] In the above embodiments of this application, the sending module includes a sending unit.
[0199] The sending unit is used to return navigation events to the client according to a second preset period.
[0200] It should be noted that the aforementioned sending unit corresponds to step S6062 in Embodiment 2. This unit implements the same instance and application scenario as the corresponding step, but is not limited to the content disclosed in Embodiment 1. It should also be noted that the aforementioned module, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0201] It should be noted that the preferred implementation methods involved in the above embodiments of this application are the same as the solutions, application scenarios and implementation processes provided in Embodiment 1, but are not limited to the solutions provided in Embodiment 1.
[0202] Example 6
[0203] According to an embodiment of this application, a terminal for implementing the above-described navigation method is also provided, such as... Figure 10 As shown, the terminal 1000 includes: a first acquisition module 1002, a parsing module 1004, and a navigation module 1006.
[0204] The first acquisition module 1002 is used to acquire navigation events, wherein the navigation events are determined based on a preset event configuration file, which includes the broadcasting rules and broadcasting content of the navigation events; the parsing module 1004 is used to parse the navigation events to obtain the broadcasting rules and broadcasting content of the navigation events; the navigation module 1006 is used to determine whether the broadcasting rules of the corresponding navigation events are met based on the real-time navigation status information of the navigated object, and if so, broadcast the broadcasting content of the navigation event.
[0205] It should be noted that the first acquisition module 1002, parsing module 1004, and navigation module 1006 mentioned above correspond to steps S702 to S706 in Embodiment 3. The three modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0206] In this embodiment of the application, after obtaining a navigation event, the navigation event can be parsed to obtain the broadcasting rules and broadcasting content of the navigation event. Based on the real-time navigation status information of the navigated object, it can be determined whether the broadcasting rules of the corresponding navigation event are met. If they are met, the broadcasting content of the navigation event is broadcast, thereby achieving the purpose of navigation.
[0207] It is noteworthy that in this embodiment, navigation events are determined based on a preset event configuration file, and navigation can be performed by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration file on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality and iteration efficiency of online navigation. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0208] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0209] In the above embodiments of this application, the real-time navigation status information includes: the real-time location of the navigated object and the navigation route, and the navigation module includes: a generation unit, a traversal unit and a navigation unit.
[0210] The generation unit generates a multi-branch tree based on the broadcast rules. Each node of the multi-branch tree represents one of the following contents included in the conditional expression corresponding to the broadcast rule: conditional variable, numerical value, and operator. The traversal unit traverses the multi-branch tree based on the real-time location and navigation route to obtain the traversal result of each node. The traversal result represents whether the real-time location and navigation route satisfy the corresponding node. The navigation unit determines the conditional expression corresponding to the broadcast rule that satisfies the corresponding navigation event if the traversal result of each node satisfies the corresponding node.
[0211] It should be noted that the above-mentioned generation unit, traversal unit, and navigation unit correspond to steps S7062 to S7066 in Embodiment 3. The three units and the corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0212] In the above embodiments of this application, the terminal further includes: a first judgment module, a second acquisition module, and a first determination module.
[0213] The first judgment module is used to determine whether the traversal result corresponding to the current tree node is stored locally. After each tree node is traversed, the traversal result corresponding to each tree node is stored. The acquisition module is used to acquire the traversal result corresponding to the current tree node if it is stored, and continue to traverse the next tree node. The first determination module is used to determine whether the current tree node is satisfied based on the real-time location and navigation route if the traversal result corresponding to the current tree node is not stored.
[0214] It should be noted that the first judgment module, the second acquisition module, and the first determination module mentioned above correspond to steps S708 to S712 in Embodiment 3. The three modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0215] In the above embodiments of this application, the first acquisition module includes one of the following: a first acquisition unit and a second acquisition unit.
[0216] The first acquisition unit is used to acquire navigation events according to a second preset period; the second acquisition unit is used to acquire navigation events based on the input real-time navigation status information.
[0217] It should be noted that the first acquisition unit and the second acquisition unit mentioned above correspond to steps S7022 to S7024 in Embodiment 3. The two units and the corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0218] In the above embodiments of this application, the terminal further includes: a second judgment module, an output module, a receiving module, and a second determination module.
[0219] The second judgment module is used to determine whether there is a historical broadcast rule that is the same as the broadcast rule locally; the output module is used to output a prompt message if there is no historical broadcast rule that is the same as the broadcast rule; the receiving module is used to receive the response information corresponding to the prompt message; the second determination module is also used to determine whether the broadcast rule of the corresponding navigation event is satisfied based on the response information and the real-time navigation status information.
[0220] It should be noted that the aforementioned second judgment module, output module, receiving module, and second determination module correspond to steps S714 to S720 in Embodiment 3. The four modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the above modules, as part of the device, can run in the computer terminal 10 provided in Embodiment 1.
[0221] It should be noted that the preferred implementation methods involved in the above embodiments of this application are the same as the solutions, application scenarios and implementation processes provided in Embodiment 1, but are not limited to the solutions provided in Embodiment 1.
[0222] Example 7
[0223] According to an embodiment of this application, a navigation system is also provided.
[0224] Figure 11 This is a schematic diagram of a navigation system according to an embodiment of this application. Figure 11 As shown, the system includes:
[0225] Client 10 is used to send real-time navigation status information of the object being navigated.
[0226] The object being navigated in the above steps can refer to the user or the vehicle the user is riding in. The client can be navigation software installed on the user's in-vehicle device or handheld terminal. The navigation software can provide a series of services such as positioning, electronic eyes, turn signals, and traffic light information through satellite positioning on electronic maps. The handheld terminal can be a smartphone (including Android and iOS phones), tablet computer, PDA, mobile internet device (MID), PAD, or other terminal devices, but is not limited to these.
[0227] The real-time navigation status information mentioned above can include, but is not limited to, the navigation route and the user's real-time location obtained by the client after the user activates the navigation function on the client. The real-time location can be determined through satellite positioning on an electronic map, and the navigation route can be the route selected by the user before starting navigation, which the navigation software follows.
[0228] Server 20 is communicatively connected to client 10. An event controller is deployed on server 20. The event controller is used to determine navigation events based on real-time navigation status information and a preset event profile. The event profile includes: the broadcast rules and broadcast content of the navigation events.
[0229] The above-mentioned server can be a navigation application server. For example, it can be a cloud server that can provide navigation services for users. The server can provide various navigation functions. For example, it can include but is not limited to functions such as electronic eyes, turn-by-turn announcements, traffic lights, charging piles, etc.
[0230] Different functions are set with different broadcast rules and broadcast content. The broadcast rules are used to determine whether to broadcast, and the broadcast content is the content to be broadcast, displayed or acted upon after it is determined that broadcasting is required. For example, for the speed limit reminder function, the broadcast rule can be the condition for judging whether speeding occurs, and the broadcast content can be the content for reminding the user that they are speeding after it is determined that the user is speeding. For different navigation functions, an event profile can be preset, and the corresponding broadcast rules and broadcast content can be stored therein. By reading the event profile, the broadcast rules and broadcast content can be obtained, and then navigation events can be generated.
[0231] For the core navigation services, for example, at a traffic light intersection, inform the user to turn left about 100 - 50 meters in advance; display the electronic eye 2 kilometers ahead of the user on the map; inform the user to switch routes when there is congestion ahead, etc. Through analysis, it can be known that navigation services can be summarized as voice broadcasts, display projections, and action events. Therefore, different navigation services can be described by a general event model, so that a unified rule engine can be used for processing. The above-mentioned event controller can use the general event model in the server to determine navigation events, that is, the broadcast rules and broadcast content of different navigation events can be represented in a fixed format, so that different navigation events adopt the same format. For example, the navigation event can adopt the following format: <event condition = "broadcast rule" voice = "broadcast content" / >, but it is not limited to this.
[0232] Client 10 is also used to parse the navigation event, obtain the broadcast rules and broadcast content of the navigation event, and determine whether the corresponding broadcast rules of the navigation event are satisfied based on the real-time navigation status information of the navigated object. When satisfied, the broadcast content of the navigation event is broadcast.
[0233] In this embodiment of the application, after sending the real-time navigation status information of the navigated object to the server and receiving the navigation event returned by the server, the client can parse the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event, and determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object. If the rules are met, the broadcasting content of the navigation event is broadcast, thereby achieving the purpose of navigation.
[0234] It is noteworthy that in this embodiment, the event controller deployed on the server determines navigation events based on real-time navigation status information and preset event configuration files. The client can perform navigation by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration files on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality of online navigation and iteration efficiency. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0235] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0236] In the above embodiments of this application, such as Figure 11 As shown, the server further deploys a rule generator, in which the event controller is also used to control the rule generator to combine the conditional expressions and broadcast content corresponding to the broadcast rules based on real-time navigation status information and preset event configuration files to obtain navigation events.
[0237] The aforementioned broadcast rules typically contain multiple conditions; that is, broadcast rules are composite conditions. Therefore, the representation of broadcast rules needs to be simple and universal, as well as highly visual and easy to maintain. In one optional embodiment, conditional expressions that are closer to natural language can be used for description. Conditional expressions consist of conditional operators, including: greater than ">", less than "<", equal to "==", not equal to "!=", AND "&&", and OR "||". All broadcast rules can be assembled into a single string, `condition`, as the rule for distribution.
[0238] In the above embodiments of this application, when there are multiple event configuration files, the event controller is also used to combine multiple navigation events, and the server is also used to return the combined navigation events to the client.
[0239] In the above embodiments of this application, the real-time navigation status information includes: the real-time location of the navigated object and the navigation route. The client is also used to generate a multi-branch tree based on the broadcast rules, and traverse the multi-branch tree based on the real-time location and the navigation route to obtain the traversal result of each tree node. If the traversal result of each tree node satisfies the corresponding tree node, the client determines the condition expression corresponding to the broadcast rule that satisfies the corresponding navigation event. The traversal result is used to characterize whether the real-time location and the navigation route satisfy the corresponding tree node. Each tree node of the multi-branch tree is used to characterize one of the following contents contained in the condition expression corresponding to the broadcast rule: condition variable, value, and operator.
[0240] In the above embodiments of this application, the client is further configured to determine whether the traversal result corresponding to the current tree node is stored locally during the traversal of the multi-branch tree. If the traversal result corresponding to the current tree node is stored, the client obtains the traversal result corresponding to the current tree node and continues to traverse the next tree node. If the traversal result corresponding to the current tree node is not stored, the client determines whether the current tree node is satisfied based on the real-time location and navigation route. In this case, after each tree node is traversed, the traversal result corresponding to each tree node is stored.
[0241] In the above embodiments of this application, the server is further configured to obtain an event configuration file according to a first preset period; or to obtain an event configuration file after receiving real-time navigation status information.
[0242] In the above embodiments of this application, the server is also used to return navigation events to the client according to a second preset period.
[0243] In the above embodiments of this application, the client is also used to receive navigation events returned by the server according to a second preset period; or to trigger the client to generate a receiving instruction and receive navigation events returned by the server based on the receiving instruction.
[0244] In the above embodiments of this application, the client is further configured to determine whether there is a historical broadcast rule that is the same as the broadcast rule locally. If there is no historical broadcast rule that is the same as the broadcast rule, the client outputs a prompt message, receives the response message corresponding to the prompt message, and determines whether the broadcast rule of the corresponding navigation event is satisfied based on the real-time navigation status information.
[0245] It should be noted that the preferred implementation methods involved in the above embodiments of this application are the same as the solutions, application scenarios and implementation processes provided in Embodiment 1, but are not limited to the solutions provided in Embodiment 1.
[0246] Example 8
[0247] According to an embodiment of this application, a terminal is also provided, including:
[0248] Processor; and
[0249] The memory, connected to the processor, provides instructions to the processor to perform the following processing steps: sending real-time navigation status information of the navigated object to the server; receiving navigation events returned by the server, wherein the navigation events are determined by an event controller deployed on the server based on the real-time navigation status information and a preset event configuration file, the event configuration file including: the broadcasting rules and broadcast content of the navigation events; parsing the navigation events to obtain the broadcasting rules and broadcast content of the navigation events; determining whether the broadcasting rules of the corresponding navigation events are met based on the real-time navigation status information of the navigated object, and broadcasting the broadcast content of the navigation event when met.
[0250] In this embodiment of the application, after sending the real-time navigation status information of the navigated object to the server and receiving the navigation event returned by the server, the client can parse the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event, and determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object. If the rules are met, the broadcasting content of the navigation event is broadcast, thereby achieving the purpose of navigation.
[0251] It is noteworthy that in this embodiment, the event controller deployed on the server determines navigation events based on real-time navigation status information and preset event configuration files. The client can perform navigation by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration files on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality of online navigation and iteration efficiency. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0252] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0253] It should be noted that the preferred implementation methods involved in the above embodiments of this application are the same as the solutions, application scenarios and implementation processes provided in Embodiment 1, but are not limited to the solutions provided in Embodiment 1.
[0254] Example 9
[0255] Embodiments of this application may provide a computer terminal, which may be any computer terminal device in a group of computer terminals. Optionally, in this embodiment, the aforementioned computer terminal may also be replaced by a mobile terminal or other terminal device.
[0256] Optionally, in this embodiment, the computer terminal may be located in at least one of a plurality of network devices in a computer network.
[0257] In this embodiment, the computer terminal described above can execute the program code for the following steps in the navigation method: sending real-time navigation status information of the navigated object to the server; receiving navigation events returned by the server, wherein the navigation events are determined by an event controller deployed on the server based on the real-time navigation status information and a preset event configuration file, the event configuration file including: the broadcasting rules and broadcasting content of the navigation events; parsing the navigation events to obtain the broadcasting rules and broadcasting content of the navigation events; determining whether the broadcasting rules of the corresponding navigation events are met based on the real-time navigation status information of the navigated object, and broadcasting the broadcasting content of the navigation events when met.
[0258] Optionally, Figure 12 This is a structural block diagram of a computer terminal according to an embodiment of this application. Figure 12 As shown, the computer terminal A may include one or more (only one is shown in the figure) processors 1202 and memory 1204.
[0259] The memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the navigation method and device in the embodiments of this application. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, thereby realizing the above-mentioned navigation method. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to terminal A via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0260] The processor can access information and applications stored in memory via a transmission device to perform the following steps: sending real-time navigation status information of the navigated object to the server; receiving navigation events returned by the server, wherein the navigation events are determined by an event controller deployed on the server based on the real-time navigation status information and a preset event configuration file, the event configuration file including: the broadcast rules and broadcast content of the navigation events; parsing the navigation events to obtain the broadcast rules and broadcast content of the navigation events; determining whether the broadcast rules of the corresponding navigation events are met based on the real-time navigation status information of the navigated object, and broadcasting the broadcast content of the navigation event if the rules are met.
[0261] Optionally, the processor may also execute program code that performs the following steps: generating a multi-branch tree based on the broadcast rules, wherein each tree node of the multi-branch tree is used to represent one of the following contents contained in the conditional expression corresponding to the broadcast rule: conditional variable, numerical value, and operator; traversing the multi-branch tree based on the real-time location and navigation route to obtain the traversal result of each tree node, wherein the traversal result is used to represent whether the real-time location and navigation route satisfy the corresponding tree node; and determining the conditional expression corresponding to the broadcast rule that satisfies the corresponding navigation event if the traversal result of each tree node satisfies the corresponding tree node.
[0262] Optionally, the processor may also execute program code with the following steps: during the traversal of the multi-way tree, determine whether the traversal result corresponding to the current tree node is stored locally, wherein the traversal result corresponding to each tree node is stored after the traversal of each tree node is completed; if the traversal result corresponding to the current tree node is stored, then the traversal result corresponding to the current tree node is obtained, and the traversal of the next tree node continues; if the traversal result corresponding to the current tree node is not stored, then based on the real-time location and navigation route, determine whether the current tree node is satisfied.
[0263] Optionally, the processor may also execute program code that performs the following steps: receiving navigation events returned by the server according to a second preset period; or triggering the client to generate a receiving instruction and receiving navigation events returned by the server based on the receiving instruction.
[0264] Optionally, the processor may also execute program code that performs the following steps: determines whether a historical broadcast rule with the same broadcast rule exists locally; if no historical broadcast rule with the same broadcast rule exists, outputs a prompt message; receives the response message corresponding to the prompt message; and determines whether the broadcast rule of the corresponding navigation event is satisfied based on the response message and the real-time navigation status information.
[0265] In this embodiment of the application, after sending the real-time navigation status information of the navigated object to the server and receiving the navigation event returned by the server, the client can parse the navigation event to obtain the broadcasting rules and broadcasting content of the navigation event, and determine whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object. If the rules are met, the broadcasting content of the navigation event is broadcast, thereby achieving the purpose of navigation.
[0266] It is noteworthy that in this embodiment, the event controller deployed on the server determines navigation events based on real-time navigation status information and preset event configuration files. The client can perform navigation by parsing the navigation events. Compared with the prior art, the function can be upgraded by directly adding or modifying the event configuration files on the server without changing the code. Therefore, there is no need to release a new version of the client application software, patch or plugin, and there is no need to restart the service, thereby improving the quality of online navigation and iteration efficiency. Furthermore, the navigation function can be configured on the server side and take effect in real time.
[0267] Therefore, the embodiments of this application solve the technical problem in the related technology that the process of packaging a new navigation map application software based on a modified plug-in and then providing it to users in the form of a new version is time-consuming and seriously affects the iteration efficiency of the software.
[0268] The processor can invoke information and applications stored in memory via a transmission device to perform the following steps: receiving real-time navigation status information of the navigable object sent by the client; determining navigation events based on the real-time navigation status information and a preset event configuration file through an event controller deployed on the server, wherein the event configuration file includes: broadcasting rules and broadcast content for the navigation events; returning the navigation events to the client, wherein the navigation events are parsed by the client, and the client determines whether the broadcasting rules for the corresponding navigation events are met based on the real-time navigation status information of the navigable object, and broadcasts the broadcast content of the navigation event if the rules are met.
[0269] Optionally, the processor may also execute program code that performs the following steps: combining the conditional expression and broadcast content corresponding to the broadcast rule with the rule generator based on the real-time navigation status information and the preset event configuration file by the event controller to obtain the navigation event.
[0270] Optionally, the processor may also execute program code that performs the following steps: when there are multiple event configuration files, combine multiple navigation events through the event controller; and return the combined navigation events to the client.
[0271] Optionally, the processor may also execute program code that performs the following steps: acquiring an event configuration file according to a first preset period; or acquiring an event configuration file after receiving real-time navigation status information.
[0272] Optionally, the processor may also execute program code that returns navigation events to the client according to a second preset cycle.
[0273] The processor can invoke information and application programs stored in the memory through the transmission device to perform the following steps: acquiring navigation events, wherein the navigation events are determined based on a preset event configuration file, which includes: the broadcast rules and broadcast content of the navigation events; parsing the navigation events to obtain the broadcast rules and broadcast content of the navigation events; determining whether the broadcast rules of the corresponding navigation events are met based on the real-time navigation status information of the navigated object, and broadcasting the broadcast content of the navigation event when the rules are met.
[0274] Those skilled in the art will understand that Figure 12 The structure shown is for illustrative purposes only. The computer terminal can also be a smartphone (such as an Android phone, an iOS phone, etc.), a tablet computer, a mobile internet device (MID), a PAD, and other terminal devices. Figure 12 This does not impose limitations on the structure of the aforementioned electronic device. For example, computer terminal A may also include components that are more complex than those described above. Figure 12 Showing more or fewer components (such as network interfaces, display devices, etc.), or having the same Figure 12 Different configurations.
[0275] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0276] Example 10
[0277] Embodiments of this application also provide a storage medium. Optionally, in this embodiment, the storage medium can be used to store the program code executed by the navigation method provided in Embodiment 1.
[0278] Optionally, in this embodiment, the storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.
[0279] Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: sending real-time navigation status information of the navigated object to the server; receiving navigation events returned by the server, wherein the navigation events are determined by an event controller deployed on the server based on the real-time navigation status information and a preset event configuration file, the event configuration file including: the broadcasting rules and broadcasting content of the navigation events; parsing the navigation events to obtain the broadcasting rules and broadcasting content of the navigation events; determining whether the broadcasting rules of the corresponding navigation events are met based on the real-time navigation status information of the navigated object, and broadcasting the broadcasting content of the navigation events when met.
[0280] Optionally, the aforementioned storage medium is further configured to store program code for performing the following steps: generating a multi-branch tree based on broadcast rules, wherein each tree node of the multi-branch tree is used to represent one of the following contents contained in the conditional expression corresponding to the broadcast rule: conditional variable, numerical value, and operator; traversing the multi-branch tree based on the real-time location and navigation route to obtain the traversal result of each tree node, wherein the traversal result is used to represent whether the real-time location and navigation route satisfy the corresponding tree node; and determining the conditional expression corresponding to the broadcast rule that satisfies the corresponding navigation event if the traversal result of each tree node satisfies the corresponding tree node.
[0281] Optionally, the aforementioned storage medium is also configured to store program code for performing the following steps: during the traversal of the multi-branch tree, determining whether the traversal result corresponding to the current tree node is stored locally, wherein the traversal result corresponding to each tree node is stored after the traversal of each tree node is completed; if the traversal result corresponding to the current tree node is stored, then the traversal result corresponding to the current tree node is obtained, and the traversal of the next tree node continues; if the traversal result corresponding to the current tree node is not stored, then based on the real-time location and navigation route, determining whether the current tree node is satisfied.
[0282] Optionally, the storage medium is further configured to store program code for performing the following steps: receiving navigation events returned by the server according to a second preset period; or triggering the client to generate a receiving instruction, and receiving navigation events returned by the server based on the receiving instruction.
[0283] Optionally, the storage medium is further configured to store program code for performing the following steps: determining whether a historical broadcast rule identical to the broadcast rule exists locally; if no historical broadcast rule identical to the broadcast rule exists, outputting a prompt message; receiving response information corresponding to the prompt message; and determining, based on the response information, whether the broadcast rule for the corresponding navigation event is satisfied based on real-time navigation status information.
[0284] Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: receiving real-time navigation status information of the navigated object sent by the client; determining a navigation event based on the real-time navigation status information and a preset event configuration file by an event controller deployed on the server, wherein the event configuration file includes: broadcasting rules and broadcasting content for the navigation event; returning the navigation event to the client, wherein the navigation event is parsed by the client, and the client determines whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object, and broadcasts the broadcasting content of the navigation event when the rules are met.
[0285] Optionally, the aforementioned storage medium is also configured to store program code for performing the following steps: the event controller combines the conditional expression and broadcast content corresponding to the broadcast rule with the rule generator based on the real-time navigation status information and the preset event configuration file to obtain the navigation event.
[0286] Optionally, the storage medium is also configured to store program code for performing the following steps: when there are multiple event configuration files, combining multiple navigation events through an event controller; and returning the combined navigation events to the client.
[0287] Optionally, the storage medium is also configured to store program code for performing the following steps: obtaining an event configuration file according to a first preset period; or obtaining an event configuration file after receiving real-time navigation status information.
[0288] Optionally, the storage medium is also configured to store program code for performing the following steps: returning navigation events to the client according to a second preset period.
[0289] Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: obtaining navigation events, wherein the navigation events are determined based on a preset event configuration file, the event configuration file including: the broadcasting rules and broadcasting content of the navigation events; parsing the navigation events to obtain the broadcasting rules and broadcasting content of the navigation events; determining whether the broadcasting rules of the corresponding navigation events are met based on the real-time navigation status information of the navigated object, and broadcasting the broadcasting content of the navigation event when the rules are met.
[0290] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0291] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0292] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0293] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0294] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0295] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0296] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A navigation method, comprising: Send the real-time navigation status information of the navigated object to the server; The system receives navigation events returned by the server, wherein the navigation events are determined by an event controller deployed on the server based on the real-time navigation status information and a preset event configuration file. The event configuration file includes: broadcast rules and broadcast content for the navigation events; wherein the event configuration file can be directly added or modified on the server. The navigation event is parsed to obtain the broadcast rules and broadcast content of the navigation event; Based on the real-time navigation status information of the navigated object, determine whether the broadcasting rules of the corresponding navigation event are met. If they are met, broadcast the broadcasting content of the navigation event. The server further deploys a rule generator, and the event controller determines the specific rules based on the real-time navigation status information and the preset event configuration file, including: The event controller controls the rule generator to combine the conditional expression corresponding to the broadcast rule and the broadcast content based on the real-time navigation status information and the preset event configuration file to obtain the navigation event.
2. The method according to claim 1, wherein, The real-time navigation status information includes: the real-time location of the navigated object and the navigation route. The step of determining whether the broadcast rules for the corresponding navigation event are met based on the real-time navigation status information of the navigated object includes: A multi-branch tree is generated based on the broadcasting rules, wherein each tree node of the multi-branch tree is used to represent one of the following contents contained in the conditional expression corresponding to the broadcasting rules: conditional variable, numerical value, and operator; Based on the real-time location and the navigation route, the multi-branch tree is traversed to obtain the traversal result of each tree node, wherein the traversal result is used to characterize whether the real-time location and the navigation route satisfy the corresponding tree node; If the traversal result of each tree node satisfies the corresponding tree node, determine the conditional expression corresponding to the broadcast rule that satisfies the corresponding navigation event.
3. The method according to claim 2, wherein, During the traversal of the multi-way tree, the method further includes: Determine whether the traversal result corresponding to the current tree node is stored locally, wherein the traversal result corresponding to each tree node is stored after the traversal of each tree node is completed; If the traversal result corresponding to the current tree node is stored, then the traversal result corresponding to the current tree node is obtained, and the traversal of the next tree node continues. If the traversal result corresponding to the current tree node is not stored, then based on the real-time location and the navigation route, determine whether the current tree node is satisfied.
4. The method according to claim 1, wherein, Before determining whether the broadcasting rules for the corresponding navigation event are met based on the real-time navigation status information of the navigated object, the method further includes: Determine if a historical broadcast rule identical to the broadcast rule exists locally; If no historical broadcast rule is found that matches the broadcast rule, a prompt message will be output. Receive the response information corresponding to the prompt information; Based on the response information, it is determined whether the broadcasting rules for the corresponding navigation event are met, based on the real-time navigation status information.
5. A navigation method, comprising: Receive real-time navigation status information of the navigated object sent by the client; The event controller deployed on the server determines navigation events based on the real-time navigation status information and a preset event configuration file. The event configuration file includes the broadcast rules and broadcast content for the navigation events. The event configuration file can be added or modified directly on the server. The navigation event is returned to the client, wherein the navigation event is parsed by the client, and the client determines whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object. If the rules are met, the broadcasting content of the navigation event is broadcast. The server further deploys a rule generator, which, through an event controller deployed on the server, determines navigation events based on the real-time navigation status information and a preset event configuration file, including: The event controller controls the rule generator to combine the conditional expression corresponding to the broadcast rule and the broadcast content based on the real-time navigation status information and the preset event configuration file, so as to obtain the navigation event.
6. A navigation method, comprising: The system acquires navigation events, wherein the navigation events are determined based on real-time navigation status information and a preset event configuration file. The event configuration file includes: broadcast rules and broadcast content for the navigation events; wherein the event configuration file can be directly added or modified on the server; wherein the server further deploys a rule generator, and the determination of the navigation events based on real-time navigation status information and the preset event configuration file specifically includes: The event controller deployed on the server controls the rule generator to combine the conditional expression corresponding to the broadcast rule and the broadcast content based on the real-time navigation status information and the preset event configuration file to obtain the navigation event; The navigation event is parsed to obtain the broadcast rules and broadcast content of the navigation event; Based on the real-time navigation status information of the navigated object, determine whether the broadcasting rules of the corresponding navigation event are met. If they are met, broadcast the broadcasting content of the navigation event.
7. A server, comprising: The receiving module is used to receive real-time navigation status information of the navigable object sent by the client; The processing module is used to determine navigation events based on the real-time navigation status information and a preset event configuration file through an event controller deployed on the server. The event configuration file includes: broadcast rules and broadcast content for the navigation events; and the event configuration file can be added or modified directly on the server. The sending module is used to return the navigation event to the client, wherein the navigation event is parsed by the client, and the client determines whether the broadcasting rules of the corresponding navigation event are met based on the real-time navigation status information of the navigated object. If the rules are met, the broadcasting content of the navigation event is broadcast. The server further deploys a rule generator, and the processing module includes: The combination unit is used to control the rule generator to combine the conditional expression corresponding to the broadcast rule and the broadcast content based on the real-time navigation status information and the preset event configuration file, through the event controller, to obtain the navigation event.
8. A terminal, comprising: processor; as well as A memory, connected to the processor, is used to provide the processor with instructions to perform the following processing steps: sending real-time navigation status information of the navigated object to the server; The system receives navigation events returned by the server, wherein the navigation events are determined by an event controller deployed on the server based on the real-time navigation status information and a preset event configuration file. The event configuration file includes: broadcasting rules and broadcasting content for the navigation events; wherein the event configuration file can be directly added or modified on the server; the system parses the navigation events to obtain the broadcasting rules and broadcasting content for the navigation events; based on the real-time navigation status information of the navigated object, it determines whether the broadcasting rules for the corresponding navigation events are met, and if so, broadcasts the broadcasting content for the navigation events; The server further deploys a rule generator, which, through an event controller deployed on the server, determines navigation events based on the real-time navigation status information and a preset event configuration file, including: The event controller controls the rule generator to combine the conditional expression corresponding to the broadcast rule and the broadcast content based on the real-time navigation status information and the preset event configuration file, so as to obtain the navigation event.
Citation Information
Patent Citations
Data analysis device
CN104731800A
Development platform based on APP component
CN109062578A
Navigation broadcasting method and system based on cloud service
CN110602642A