Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The "shared economy" is an economy model emerging with the continuous development of the internet. It offers various types of trading platforms, allowing users to trade their own unwanted items or surplus resources for corresponding rewards or rewards, selling the use of these unused resources at certain times, such as the very popular "best step" or "drip car" in the car rental field, or "AirBnb" for accommodation services. The "shared economy" model described above can sufficiently invoke social idle resources (e.g., redundant private cars, houses), and thus is rapidly spreading in every possible field.
Fig. 1 is an application environment for performing the mapping method according to an embodiment of the present invention. As shown in fig. 1, the application environment includes: a drone 10, a cloud platform 20, and a network 30.
The drone 10 may be any suitable type of high or low altitude aircraft, including a typical quadcopter, a hover remote control helicopter, or a fixed wing aircraft with a certain speed of movement, among others.
The unmanned aerial vehicle 10 is provided with at least one image acquisition device, such as a high-definition camera or a motion camera, for completing an image shooting process of a specific area. Any suitable type of wireless communication module may also be provided on the drone 10 to enable control and data transmission to the drone 10. In some embodiments, the drone 10 may also add or omit some functional modules depending on the actual situation.
In the application environment shown in fig. 1, each drone 10 may be any drone, belonging to different users or different regions. Of course, each unmanned aerial vehicle has its own corresponding performance parameters or its own state information, including model information, remaining capacity, camera resolution, altitude/speed of flight, cruise mileage, and so on.
The cloud platform 30 is used for issuing control instructions and receiving data collected by the unmanned aerial vehicle, and map data of a target is formed by integrating and splicing image data to complete a map drawing task. The cloud platform 30 is an electronic computing platform that is built in the "cloud" and can provide various types of services (e.g., data management, logic operation, and instruction broadcasting). The cloud platform 30 may be established based on one or more servers or electronic computing devices. The server may also be connected to one or more databases, and may invoke related data or program instructions to provide hardware support for one or more services in the cloud.
The network 30 may be any suitable wired or wireless network, such as the internet, a local area network, or a wired cable, for enabling a communication connection between two devices, such as a drone and a server. The cloud platform 20 may establish a communication connection with one or more different drones 10 through the network 30, and upload or issue data/instructions to complete the mapping task.
In the application process, each unmanned aerial vehicle 10 is connected with the cloud platform 20 through a network (such as wifi, 4G network, etc.) corresponding to the unmanned aerial vehicle, and requests to draw a map. The cloud platform 20 determines whether the unmanned aerial vehicle can meet the conditions according to the actual conditions of the unmanned aerial vehicle, and issues corresponding data to the unmanned aerial vehicle 10 meeting the conditions so as to facilitate subsequent management and control, for example, corresponding mobile application programs can be pushed to the unmanned aerial vehicle 10 meeting the conditions, and control and data transmission of the unmanned aerial vehicle 10 are completed through the mobile application programs.
Each drone 10 may have its own, unique device identification on the cloud platform 20. The cloud platform 20 determines the identity of the drone through the device identification.
The operating environment shown in fig. 1 includes 6 drones 10 and 1 cloud platform 20. Those skilled in the art will appreciate that any number of other drones or cloud platforms may be included in some embodiments. The cloud platform can adopt corresponding strategies to finish the mapping of the unmanned aerial vehicle based on the connected unmanned aerial vehicle conditions and task related information such as the area and difficulty of mapping.
Fig. 2 is a functional block diagram of a cloud platform 20 for executing a mapping method according to an embodiment of the present invention.
As shown in fig. 2, the cloud platform 20 may include: a device identification assignment module 100, a local mapping module 200, and a stitching module 300.
The device identifier allocating module 100 is a functional module used by the platform to generate the device identifier. The device identification is generated when the platform receives the registration request, and may be any suitable type of data for confirming identity, the device identification corresponding uniquely to the drone, e.g., being a separate, registered account corresponding to the drone. As described above, the cloud platform may also install a complete mobile application for the drone with the device identifier, thereby facilitating operations of subsequent functional modules (such as issuing control instructions or issuing rewards). In some embodiments, the device identifier assignment module 100 may also be omitted, and the platform directly obtains the device identifier and the corresponding drone through the database connected thereto.
The local map drawing module 200 outputs a corresponding control signal to control the unmanned aerial vehicle to draw the local map of the area block with the predetermined area according to the requirement of the actual situation. The local mapping module 200 controls drones that already have a device identification. It can be according to certain strategy, the intelligent unmanned aerial vehicle to global adjusts to the map data in some regions of more efficient acquisition. The settings of the area blocks and their predetermined areas may also be adjusted or divided by the cloud platform 20 according to the actual conditions (e.g., the number of drones, the main performance indicators, and the cloud platform mapping strategy).
For example, when receiving a registration request of a drone, the relevant performance index of the drone is obtained, and the cruising ability of the drone that has been registered is counted (generally, the cruising ability conforms to a normal distribution model). And then, determining the preset area of the area block according to the main distribution interval of the cruising ability of the unmanned aerial vehicles, so that most unmanned aerial vehicles registered on the cloud platform can meet the performance requirement of mapping. Further, a composite strategy may be used to divide the region blocks, such as setting a portion (e.g., 10%) of the target region to a larger predetermined area and another portion (e.g., 20%) of the target region to a smaller predetermined area.
The splicing module 300 splices the local data obtained by the local mapping module 200, and generates a target area map composed of a plurality of area blocks by splicing the local maps of adjacent area blocks. The target area map may specifically be a map of a specific area of any size, type or area, such as a certain block, city or country, etc. In some embodiments, the map may also be a panoramic map or other more map type, as permitted by the data acquisition conditions of the drone. The local map splicing and target area map synthesis through the plurality of area blocks is a very common technology in the field of map drawing, is particularly widely applied to unmanned plane map drawing, and the specific splicing algorithm and the like are well known to those skilled in the art.
In the embodiment of the invention, a cloud platform capable of scheduling unmanned aerial vehicles and integrating data is provided, and all scattered unmanned aerial vehicles can be effectively utilized through the cloud platform.
Because each unmanned aerial vehicle branch belongs to different owner, the cost of purchasing or maintaining is dispersed to the effectual cost that reduces in the mapping process. Moreover, due to the sparse characteristic of the main distribution of the unmanned aerial vehicle, each area can be well covered, and the data of the map can be rapidly and quickly updated, so that the drawn map is more accurate.
Fig. 3 is a cloud platform according to another embodiment of the present invention. In this implementation, as shown in fig. 3, the cloud platform further includes, in addition to the functional modules shown in fig. 2: reward calculation module 400
The reward calculation module 400 provides corresponding rewards to the unmanned aerial vehicle drawing the local map through the device identifier. The reward calculation module 400 is a functional module to calculate and feed back rewards for drones that calculate rewards available to drones according to some predetermined rules and provide those rewards to drones that completed the mapping task (identified by the device identification). The reward may specifically be any suitable type of reward, including map data for certain areas, money or certain usage rights, etc.
In this embodiment of the present invention, the cloud platform may further include: the application receiving module 500.
The application receiving module 500 receives a mapping application of the unmanned aerial vehicle. Since in this embodiment the ownership of the drone belongs to each owner. Therefore, the cloud platform can complete control over the local map in a passive receiving mode. That is, the cloud platform only controls the unmanned aerial vehicle to draw the local map when receiving the application requesting to draw the map (usually, the owner sends such a map drawing application when free).
To further improve mapping efficiency, in some embodiments, the cloud platform may also actively broadcast mapping tasks for a specific area block to the registered drones (e.g., by way of mobile application push). After the unmanned aerial vehicle owner acquires the broadcast information, whether the task is responded or not can be selected according to the condition of the unmanned aerial vehicle owner, and the corresponding mapping application is sent to the cloud platform.
Through the mode of the cloud platform active broadcast information, the requirement of the user for drawing on the current platform can be prompted, so that the map drawing can be efficiently completed, and the reduction of the map drawing efficiency caused by unbalanced information exchange is avoided.
The mapping application may be in the form of any suitable type of application. Optionally, the cloud platform 20 may show the current mapping situation to the owner of the unmanned aerial vehicle, prompting the owner of the area blocks to apply for mapping. The owner selects a proper region block according to own preference and sends out a corresponding map drawing application. As such, the mapping application may include: requesting an area block for drawing a map, self-state information of the unmanned aerial vehicle, and the like.
The local mapping module 200 may determine whether the application meets a predetermined permission condition according to the mapping application, and control the drone to map when the application meets the permission condition. Such an application checking process is very necessary when the map drawing can be smoothly completed. Because the unmanned aerial vehicle model that inserts high in the clouds platform is various, need ensure that unmanned aerial vehicle can accomplish the task of oneself applying. In addition, due to the existence of the reward system, the situation that some owners maliciously complete tasks by using the unmanned aerial vehicles and earn rewards is also required to be avoided. The permission conditions may be any suitable ones, and may include a series of reference factors determined according to actual conditions to ensure smooth mapping as much as possible, which may include performance requirements of the drone, the location of the mapping area block, and so on.
Referring to fig. 3, in other embodiments, the cloud platform may further include: a return control module 600.
The return control module 600 and the local mapping module 200 are both used for controlling the unmanned aerial vehicle to be accessed. The return control module 600 controls the unmanned aerial vehicle to return to the designated place when the local map drawing cannot be completed or after the local map drawing is completed. After returning, the cloud platform 20 withdraws from the control of the unmanned aerial vehicle, and returns the unmanned aerial vehicle to the owner. The designated location may be determined by the cloud platform 20 according to the location of the owner, or may be a suitable location designated by the owner.
In the process of drawing the local map by the unmanned aerial vehicle, various factors possibly cause interruption of a drawing task, and local map drawing cannot be completed, for example, weather factors, insufficient electric quantity of the unmanned aerial vehicle, faults of camera equipment of the unmanned aerial vehicle or interruption of wireless connection and the like. The control module 600 of returning a journey returns a journey with unmanned aerial vehicle in order to avoid owner to suffer unnecessary loss, also can ensure unmanned aerial vehicle's safety.
In the image splicing process, due to the inconsistency of data sources, the problem of errors is still unavoidable. Optionally, as shown in fig. 3, the cloud platform may further include: the error recognition module 700.
The error recognition module 700 determines that a drawing error occurs in the local map of the area block when the difference between the adjacent areas of the two local maps spliced by the splicing module 300 is greater than a set value. The error identification module 700 may determine the area block with the error based on a plurality of different learning or judgment strategies, which is determined by the splicing manner of the local map. Of course, in some embodiments, the fault identification module 700 may also have only an alarm function, and the specific confirmation may be manually performed.
Through the error identification module 700, the area block with the drawing error can be found in time in the process of local map splicing, and the map data which is finally finished is prevented from having obvious errors. The recognition algorithm used by the error recognition module 700 and the size of the set value are all common technical means in the image stitching technical field, and can be determined according to the actual situation, which is well known to those skilled in the art.
The cloud platform 20 provided in any of the above embodiments may be implemented by any suitable electronic device with logical operation capability or a hardware system composed of a plurality of electronic devices, such as a server or a server group. The electronic device may also be connected to a local or online memory, and may invoke corresponding data or program instructions to perform the functions of one or more of the functional blocks described above. One or more of the functional modules described above may also be executed by one or more electronic devices.
Fig. 4 is a flowchart of a method of the mapping performed by the cloud platform 20 according to the embodiment of the present invention. As shown in fig. 4, the method includes the steps of:
100: and sending a mapping instruction to the unmanned aerial vehicle corresponding to the selected equipment identifier, wherein the unmanned aerial vehicle corresponds to a unique equipment identifier, and the equipment identifier is generated when a registration request is received.
The device identification is used as identity confirmation information of the cloud platform for the unmanned aerial vehicle, and is generated during the primary registration request and used by the cloud platform in the subsequent process.
200: and receiving a local map of an area block with a preset area acquired by the unmanned aerial vehicle.
And controlling the unmanned aerial vehicle to draw a local map of the area block with the preset area. The region block is a block region having a certain area, which is divided from the target region map in step 400. The specific area may be determined by the cloud platform 30, which depends on the actual mapping situation, including the number of drones, the size of the map, etc.
300: and splicing the local maps of the adjacent area blocks to generate a target area map consisting of a plurality of area blocks.
In the mapping method provided by the embodiment of the invention, the target area map of the target area can be divided into a plurality of different area blocks. And obtaining a final target area map by splicing the local maps of the area blocks. That is, a complete target area may be divided into a plurality of different area blocks, and a final target area map is formed by local map stitching of the area blocks.
FIG. 5 is a diagram illustrating the division of a region block. As shown in fig. 5, the target area a may be divided into a plurality of different rectangular area blocks, and the local map may be drawn for each rectangular area block. In some embodiments, the rendered local map may be slightly larger than the rectangular region block, with sufficient margin data to facilitate the stitching operation in step 300.
The map drawing method combines the characteristic of sharing economy to provide a reward mode, and encourages that each unmanned aerial vehicle can be utilized by the cloud platform when the unmanned aerial vehicle is idle, so that a map drawing task is completed. The map drawing mode can call a large number of unmanned aerial vehicles in different regions, and has high map drawing efficiency. Moreover, high maintenance and purchase costs of the unmanned aerial vehicle are not required to be paid, and the cost benefit is good.
By adopting the distributed map drawing method, various problems possibly occurring in the actual operation process need to be considered so as to improve the efficiency, the accuracy and the like of map drawing. Fig. 6 is a flowchart of a mapping method according to another embodiment of the present invention.
In addition to the steps shown in fig. 4, as shown in fig. 6, the method may further include an audit process for the drawn application:
400: receiving a mapping application of the unmanned aerial vehicle. The map drawing application is sent to the cloud-end platform actively by the owner of the unmanned aerial vehicle according to whether the unmanned aerial vehicle is idle or not.
500: and when the mapping application meets the preset permission condition, sending a mapping instruction corresponding to the mapping application to the unmanned aerial vehicle.
600: and receiving a local map of the area block which is drawn by the unmanned aerial vehicle and corresponds to the mapping application.
The cloud platform can determine whether the map drawing application (namely the unmanned aerial vehicle) meets the requirements or not by analyzing the application and matching the application with the permission conditions, and can finish drawing of the local map.
Optionally, the permission condition may include one or more of:
(1) the local map of the target area block corresponding to the mapping application is not completed.
(2) The unmanned aerial vehicle can meet the performance requirement of drawing the local map of the target area block.
(3) No other drone is doing the local mapping of the target area block.
(4) The unmanned aerial vehicle has not drawn a local map of a target area block corresponding to a mapping application and an adjacent area block adjacent to the target area block.
The target area block and performance information of the unmanned aerial vehicle can be transmitted to the cloud platform in the mapping application. The cloud platform is used as a controller, and can also provide feedback opinions for the owner according to the current mapping situation, for example, prompting which area blocks can be applied for mapping.
The permission conditions can be added or omitted according to actual conditions, so that accurate screening conditions for map drawing can be guaranteed. For example, the permission condition (4) is to ensure that a certain area block or a certain few area blocks are repeatedly drawn by a malicious user, earn a reward or achieve other illegal purposes, so that the map drawing is affected. The permission condition (3) can avoid the cloud platform to control a plurality of unmanned aerial vehicles to map in the same region block, so that the difficulty of data integration is increased.
In embodiments of the present invention, the adjacent area blocks may have a variety of different definitions. For example, as shown in fig. 5, it may be 4 area blocks x2, x4, x6 and x8 having a common boundary with the target area block x5 or 8 area blocks x1, x2, x3, x4, x6, x7, x8, x9 located within a radius range 1 around the target area x 5. It is understood that if the second definition is adopted, the number of neighboring blocks will be larger, i.e., under more strict determination conditions. The strict decision condition can improve the safety of the cloud platform and avoid the interference of malicious users.
The above step 200 can be implemented by various different types of policies, and fig. 7 is a flowchart of the method of step 200 according to an embodiment of the present invention.
As shown in fig. 7, when drawing a local map, the following steps may be taken:
210: and receiving image data of the unmanned aerial vehicle acquisition area block. The unmanned aerial vehicle can acquire images of the flying area of the unmanned aerial vehicle through a camera or other suitable image acquisition equipment in the air. The specific route or the operation track of the unmanned aerial vehicle can be determined by the cloud platform and is controlled by the cloud platform. The image data may be any suitable type of image data, such as video, photographs, or a combination of both.
220: and carrying out similarity judgment on the image data belonging to the same region block to form region block acquisition data. In the process of mapping, in order to ensure the reliability of data, it is a common way to collect data for the same area for many times. Because various uncontrollable factors exist in the image acquisition process, the results of multiple acquisition have certain differences, and a group of data sets with specific data structures, namely the acquired data of the area blocks can be obtained after the similarity comparison of the image data belonging to the same area block.
230: and when the region block acquisition data meets a preset standard, determining that the local mapping of the region block is finished.
For a certain area block, it usually has reliability that can meet the use requirement after the collected data reaches a certain standard (for example, reaches a certain amount). Therefore, it is possible to determine whether the drawing of the local map of the region block is completed or not from the region block collection data, and confirm the local map that can be finally used for the stitching.
In some embodiments, predetermined criteria may be employed to determine whether the local mapping of a block of area is complete, as shown in FIG. 8:
first, there is the first acquisition of the obtained image data1 for the same region block. The local mapping module 200 receives the image data1 and determines its corresponding region block (e.g., region block x5), and adds the first image data1 to a newly created first acquisition data group G1.
Then, the local mapping module 200 also acquires a plurality of image data2 to datan of the area block x5 a plurality of times. For these image data, the local mapping module 200 will perform similarity determination and put them into similar collected data sets (i.e., G2 to Gm). If the image data datan cannot be included in the existing acquisition data group, an acquisition data group Gm +1 is newly created to place the image data.
In the process of making the similarity determination, the predetermined threshold value of the determination may be determined according to actual conditions, for example, 95% or higher/lower. It depends on the control strategy of the cloud platform or the method of similarity calculation. As shown in fig. 8, after multiple acquisitions, such region block acquisition data may include a plurality of different acquisition data sets G1 through Gm +1, each acquisition data set also having a certain amount of image data therein.
Finally, as shown in fig. 8, after a plurality of times of data acquisition, there exists an acquired data group G4 having a significant difference from other data groups due to the normal distribution rule of data. Therefore, the acquisition data group G4 may be selected as a representative of the area block x5, and the image data of which the sharpness is the highest may be selected as the local map of the area block.
In the present embodiment, the difference in the acquired data sets is represented by the number of image data of the acquired data sets. Therefore, the criteria for judgment with significant differences can be considered as: the number of image data of one of the acquired data sets is equal to or greater than a first predetermined value, and the difference between the number of image data of one of the acquired data sets and the number of image data of any other acquired data set is equal to or greater than a second predetermined value. For example, the number of image data of the acquired data group G4 reaches 10, and the number of image data of the second most acquired data group G1 is only 2, and the difference therebetween satisfies the requirement of the second predetermined value.
It will be appreciated that the skilled person may alter the criterion of significant difference by adjusting the magnitude of the first predetermined value and the second predetermined value. A more significant difference means that the acquisition data set is more representative, which means that a local map of this area block may have better reliability.
With continued reference to fig. 6, the method further includes:
700: and when the local map drawing cannot be finished or after the local map drawing is finished, controlling the unmanned aerial vehicle to return to the designated place. After the unmanned aerial vehicle navigates back, the cloud platform stops controlling the unmanned aerial vehicle and returns the unmanned aerial vehicle to the owner.
To encourage the user to actively complete the local mapping task and improve the efficiency of mapping, the method may further include: and providing corresponding rewards for the unmanned aerial vehicle which finishes drawing the local map through the equipment identification.
According to the requirement of actual conditions, a certain gradient or a proper reward algorithm can be set, and rewards corresponding to contributions of the unmanned aerial vehicle are given to the unmanned aerial vehicle. Fig. 9 is a flowchart of a method of calculating rewards.
As shown in fig. 9, the method may specifically include the following steps:
10: and determining the capability grade of the unmanned aerial vehicle according to the quality of the local map drawn by the unmanned aerial vehicle. The quality of the completion can be examined from a number of different dimensions, such as image sharpness, flight efficiency, etc. The specific capability level settings may be divided according to actual needs.
20: and determining the credit level of the unmanned aerial vehicle according to the historical records of the unmanned aerial vehicle related to drawing the local map. In addition to the capability level of step 210, the history of the drone also has a significant reference value, which reflects the trustworthiness of the image data acquired by the drone. Similarly, the specific credit rating can be divided according to actual needs.
30: and calculating the reward weight of the unmanned aerial vehicle according to the capability level and the credit level. The bonus weight may be a weighted value, e.g., 150%, 200%, etc., that is evaluated according to the capability level and the credit level.
40: and providing corresponding rewards for the unmanned aerial vehicle which finishes drawing the local map according to the reward weight. In this embodiment, a calculation method of reward units is used, the initial unmanned aerial vehicle finishes mapping of an area block to obtain 1 unit of reward, and as the capability level and the credit level are improved, the reward which can be obtained each time is multiplied by a corresponding reward weight, for example, 1.5 times, 2 times, and the like.
The following table is an award weight corresponding relation table provided by the embodiment of the invention:
the local map is determined by using the first adjacent block definition shown in fig. 5, for example, if the first adjacent block definition shown in fig. 5 is used, a local map of 5 area blocks needs to be stitched in each stitching process, and if the second adjacent block definition shown in fig. 5 is used, a local map of 9 area blocks needs to be stitched. It will be appreciated by those skilled in the art that other suitable splicing strategies may be employed to accomplish such a splicing process, such as splicing two blocks of area at a time.
In the splicing manner of the local maps of the target area block and the 8 adjacent area blocks, the local map with drawing errors can be determined according to the difference between the adjacent areas between the two spliced local maps and other local maps. For example, as shown in fig. 5, when the adjacent area difference between the area blocks x5 and x4 is greater than the set value, the area block in which an error occurs may be determined with reference to the result of the splicing between the area blocks x1 and x9 and x 4.
In summary, the map drawing method provided by the embodiment of the invention cuts the large area map into small area blocks, and enables the whole map to be drawn efficiently and to have lower cost through the unmanned aerial vehicle joint cooperation mode at different time and different places.
On the one hand, the cloud platform can intelligently check the information of each small region block according to the acquired image data every time and adopt a safety mechanism to check the splicing with the adjacent small region blocks, so that the safety and the reliability of map drawing are ensured.
On the other hand, the cloud platform enables the user to have participation power through a reward and credit mechanism, combines the characteristics of sharing economy, and is beneficial to popularization and application of map drawing and rapid map drawing.
It should be noted that the mapping method and the cloud platform provided in the above embodiments are based on the same inventive concept. Therefore, the steps of each specific embodiment in the map drawing method may be executed by the corresponding functional module, and the specific function in the functional module may also have the corresponding method steps in the map drawing method, which is not described herein again.
Fig. 10 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the present invention. As shown in fig. 10, the apparatus 60 includes: one or more processors 610 and a memory 620, with one processor 610 being an example in fig. 8. The device 60 is configured to run the cloud platform, and provide hardware support for corresponding services, such as a server or a cluster server.
The processor 610 and the memory 620 may be connected by a bus or other means, and fig. 8 illustrates an example of the connection by the bus.
The memory 620, which is a non-volatile computer-readable storage medium, may be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as program instructions/modules corresponding to the mapping method in the embodiment of the present invention (for example, the device identifier assigning module 100, the local mapping module 200, and the splicing module 300 shown in fig. 2). The processor 610 executes various functional applications of the server and data processing by executing nonvolatile software programs, instructions, and modules stored in the memory 620, that is, implements the mapping method of the above-described method embodiment.
The memory 620 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created from use of the cloud platform, and the like. Further, the memory 620 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, the memory 620 may optionally include memory located remotely from the processor 610, which may be connected to the cloud platform via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The one or more modules are stored in the memory 620 and, when executed by the one or more processors 610, perform a mapping method in any of the method embodiments described above.
The product can execute the method provided by the embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method. For technical details that are not described in detail in this embodiment, reference may be made to the method provided by the embodiment of the present invention.
Embodiments of the present invention provide a computer program product, including a computer program stored on a non-volatile computer-readable storage medium, where the computer program includes program instructions, and when the program instructions are executed by a computer, the computer executes the user information recording method in any of the above-mentioned method embodiments, for example, executes the method steps 100 and 400 in fig. 4 described above, and implements the functions of the module 100 and 300 in fig. 2.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a general hardware platform, and certainly can also be implemented by hardware. It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware related to instructions of a computer program, which can be stored in a computer readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; within the idea of the invention, also technical features in the above embodiments or in different embodiments may be combined, steps may be implemented in any order, and there are many other variations of the different aspects of the invention as described above, which are not provided in detail for the sake of brevity; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.