Business processing method, device, storage medium and electronic device
By obtaining the IPv6 local link address of the target device as the device identification, the problem of random generation of MAC addresses after the device is connected to different Wi-Fi hotspots is solved, and the stability of the device identification and the accuracy of service processing are improved.
Patent Information
- Application Number
- CN202211583501.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-09
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-12-09
AI Technical Summary
In the prior art, each time a device connects to a different Wi-Fi hotspot, it will randomly generate a MAC address, resulting in the same device that may have multiple different MAC addresses, affecting the service processing results.
After the first application is started, the IPv6 local link address of the target network port in the target device is obtained, and the address remains unchanged after the device is started, thereby determining the stable identification of the device.
The stability of the device identification obtained by the same device is improved, and the situation where different devices acquire the same device identification is reduced, ensuring the normal execution of the business processing process and the accuracy of the results.
Smart Images

Figure CN116017420B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular, to a business processing method, device, storage medium and electronic device. Background Art
[0002] In the business scenarios of applications, it is often necessary to obtain the device ID for corresponding business processing. For example, in shopping applications, it is usually limited that a user can only participate in a promotion once, so it is necessary to obtain the device ID to determine whether the corresponding user has participated in the promotion.
[0003] In related technologies, the MAC (Media Access Control) address of the Wi-Fi (wireless fidelity) network port can be obtained as a device identifier. However, each time a device connects to a different Wi-Fi hotspot, a MAC address is randomly generated, resulting in the possibility of many different MAC addresses for the same device, thus affecting the service processing results. Summary of the invention
[0004] This summary is provided to introduce concepts in a brief form that will be described in detail in the detailed description below. This summary is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0005] In a first aspect, the present disclosure provides a service processing method, the method comprising:
[0006] After the first application is started, an IPv6 local link address of a target network port in a target device is obtained, wherein the target device is a device on which the first application is installed, and the target network port is a network port whose IPv6 local link address remains unchanged after the target device is started;
[0007] If the IPv6 local link address is obtained, determining the first device identifier of the target device according to the IPv6 local link address;
[0008] In response to a service request triggered in the first application, a service processing result is obtained according to the first device identifier.
[0009] In a second aspect, the present disclosure provides a service processing device, the device comprising:
[0010] an acquisition module, configured to acquire, after the first application is started, an IPv6 local link address of a target network port in a target device, wherein the target device is a device on which the first application is installed, and the target network port is a network port whose IPv6 local link address remains unchanged after the target device is started;
[0011] a determination module, configured to determine, when the IPv6 local link address is acquired, a first device identifier of the target device according to the IPv6 local link address;
[0012] A processing module is used to obtain a business processing result according to the first device identifier in response to the business request triggered in the first application.
[0013] In a third aspect, the present disclosure provides a non-transitory computer-readable medium having a computer program stored thereon, which implements the steps of the method described in the first aspect when executed by a processing device.
[0014] In a fourth aspect, the present disclosure provides an electronic device, including:
[0015] a storage device having a computer program stored thereon;
[0016] A processing device is used to execute the computer program in the storage device to implement the steps of the method in the first aspect.
[0017] Through the above technical solution, after the first application is started, the IPv6 local link address of the target network port in the target device where the first application is installed can be obtained to determine the device identification, so as to perform business processing according to the device identification. Among them, the target network port is a network port whose IPv6 local link address remains unchanged after the target device is started. Therefore, the device identification of the target device is determined by the IPv6 local link address, which can improve the stability and invariance of the device identification obtained by the same device, reduce the situation where different devices obtain the same device identification, ensure the normal execution of the business processing process, and improve the accuracy of the business processing results.
[0018] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale. In the drawings:
[0020] Figure 1 is a flow chart of a business processing method according to an exemplary embodiment of the present disclosure;
[0021] Figure 2 is a process schematic diagram of a business processing method according to another exemplary embodiment of the present disclosure;
[0022] Figure 3 is a block diagram of a service processing device according to an exemplary embodiment of the present disclosure;
[0023] Figure 4 It is a block diagram of an electronic device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0024] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0025] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0026] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.
[0027] It should be noted that the concepts of "first", "second", etc. mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units. It should also be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".
[0028] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0029] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0030] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
[0031] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0032] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0033] At the same time, it is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0034] In the business scenarios of applications, it is often necessary to obtain the device ID for corresponding business processing. For example, in shopping applications, it is usually limited that a user can only participate in a promotion once, so it is necessary to obtain the device ID to determine whether the corresponding user has participated in the promotion.
[0035] In the related art, for the Android operating system, the MAC (Media Access Control) address of the Wi-Fi (wireless fidelity) network port can be obtained as a device identifier. However, each time the device connects to a different Wi-Fi hotspot, a MAC address is randomly generated, resulting in the possibility of many different MAC addresses for the same device, thus affecting the service processing results.
[0036] In addition, in the related art, the device identification can also be determined for the Android operating system in the following ways: 1) Obtain the IMEI (International Mobile Equipment Identity) of the device as the device identification, but in Android operating systems with versions higher than Android 9, applications are prohibited from obtaining IMEI. 2) Obtain OAID (Open Advertising Identifier) as the device identification, but this method requires the device manufacturer to implement it, and the coverage rate is not high in devices with operating system versions lower than Android 9. 3) Obtain Android ID as the device identification, but this method is only supported in operating systems with versions higher than Android 8, and the values obtained by applications from different developers in the same device are different, and the business interaction capability across applications is poor. 4) Calculate a value based on the system boot time as the device identification, but the system boot time cannot be directly obtained in the Android operating system, and the boot time needs to be obtained by subtracting the system running time from the current time. If the boot time unit is accurate to seconds, there will be a high probability of overlap between the device identifications of different devices. If the power-on time unit is accurate to milliseconds, there will be a problem of large errors. This is because the user changes the time, the network time is automatically updated, or the computing thread is dormant, etc., which will cause the same device to calculate different values in different applications or different context environments, resulting in the same device obtaining different device identifications, affecting business processing results.
[0037] For iOS operating systems, IDFA (Identifier For Advertising) is usually obtained as a device identifier. However, the ad tracking function is prohibited starting from iOS 10. Applications can only obtain IDFA after user authorization. If the user does not authorize, the IDFA cannot be obtained, and the device identifier cannot be obtained for business processing, which affects the business processing process.
[0038] In view of this, the present invention provides a business processing method, which determines the device identification according to the IPv6 local link address of the stable network port in the device, improves the stability and invariance of the device identification obtained by the same device, reduces the situation where different devices obtain the same device identification, ensures the normal execution of the business processing process, and improves the accuracy of the business processing results.
[0039] Figure 1 is a flow chart of a business processing method according to an exemplary embodiment of the present disclosure. Figure 1 , the business processing method includes the following steps:
[0040] Step 101, after the first application is started, obtain the IPv6 local link address of the target network port in the target device, the target device is the device where the first application is installed, and the target network port is the network port whose IPv6 local link address remains unchanged after the target device is started.
[0041] Step 102: If the IPv6 local link address is obtained, determine the first device identifier of the target device according to the IPv6 local link address.
[0042] Step 103: In response to the service request triggered in the first application, obtain a service processing result according to the first device identifier.
[0043] For example, the target network port in the embodiment of the present disclosure is a stable IPv6 address network port, which may be a first type network port that will not be shut down and restarted after the device is powered on, but will restart when the device is restarted, or a second type network port that will not be shut down and restarted after the device is powered on, and will not restart when the device is restarted. It should be understood that, whether it is a first type network port or a second type network port, after the device is powered on once, the IPv6 local link address of the network port will remain unchanged. For example, the dummy 0 network port in the Android operating system, the network port will not be shut down and restarted after the device is started, that is, the IPv6 local link address of the network port will remain unchanged. When the device is restarted, the network port will restart, and then a new IPv6 local link address will be re-acquired. For another example, the utun0 network port, utun1 network port, utun2 network port and other network ports in the iOS operating system, these network ports will remain in the startup state after the device is powered on, that is, the IPv6 local link addresses of these network ports will remain unchanged. When the device is restarted, these network ports will restart and then re-acquire new IPv6 local link addresses. Conversely, the SIM (Subscriber Identity Module) card network port in the device used to transmit data will be turned on and off accordingly as the mobile data in the device is turned on and off. Therefore, the SIM card network port in the device does not belong to the target network port in the embodiment of the present disclosure.
[0044] When most devices are powered on, they will generate some stable network ports, such as utun0 in the iOS operating system and dummy 0 in the Android operating system. When these network ports are powered on, they will randomly generate IPv6 local link addresses starting with fe80, such as fe80::54e7:aOff:fec2:e372. These addresses will not change after they are generated unless the device is restarted, so they have high stability. In addition, at least 6 bytes of these addresses are completely randomly generated, which can reduce the conflict of IPv6 local link addresses generated by various devices. For example, if 10 billion devices generate IPv6 local link addresses for the same stable network port at the same time, the probability of conflict is only: 10000000000×100% / (256×256×256×256×256×256)=0.00355%.
[0045] Therefore, in the embodiment of the present disclosure, the device identifier is determined according to the IPv6 local link address of the target network port (i.e., the stable network port) in the device, which can improve the stability of the device identifier obtained by the same device and reduce the situation where different devices obtain the same device identifier. Therefore, business processing based on the device identifier can ensure the normal execution of the business processing process and improve the accuracy of the business processing results.
[0046] In some embodiments, obtaining the IPv6 local link address of the target network port in the target device can be: determining the operating system type of the target device, and then determining the target network port in the network port of the target device based on the operating system type, and obtaining the IPv6 local link address of the target network port.
[0047] For example, the device of the Android operating system can be pre-configured to obtain the IPv6 local link address of the dummy 0 network port, and the device of the iOS operating system can obtain the IPv6 local link addresses of the utun0 network port and the utun1 network port. Thus, after the first application is started, the operating system type of the target device on which the first application is installed can be determined first. If the operating system type represents the Android operating system, the target network port is determined to be the dummy 0 network port. If the operating system type represents the iOS operating system, the target network port is determined to be the utun0 network port and the utun1 network port. After that, the IPv6 local link address of the target network port can be obtained. Thus, without interacting with other devices, the target device can quickly and easily obtain the IPv6 local link address of the target network port, thereby improving business processing efficiency.
[0048] In some embodiments, the server of the first application stores preset network port information, and the preset network port information is used to characterize the correspondence between the device type and the target network port. Accordingly, obtaining the IPv6 local link address of the target network port in the target device can also be: first determine the device type of the target device, and then send the device type to the server, so that the server determines the target network port corresponding to the target device according to the device type and the preset network port information, and sends the information of the target network port corresponding to the target device to the target device. Then, the target device receives the information of the target network port corresponding to the target device sent by the server, and parses the information to obtain the target network port corresponding to the target device, and then obtains the IPv6 local link address of the target network port corresponding to the target device.
[0049] That is to say, the target network port information corresponding to different device types, that is, the preset network port information, can be configured on the server of the first application. For example, after the first application is started, the device type of the target device can be determined first, and the device type can be sent to the server of the first application. Correspondingly, the server can query the target network port corresponding to the target device in the preset network port information according to the device type, and return the queried target network port information to the target device. Then, after receiving this information, the target device can determine its corresponding target network port by parsing this information, thereby obtaining the IPv6 local link address of the target network port.
[0050] It should be understood that the network ports that can obtain the IPv6 local link address may be different for different device types. The embodiment of the present disclosure configures the target network ports corresponding to different device types through the server, and can determine different target network ports for different devices, thereby reducing the situation where the IPv6 local link address cannot be obtained due to setting the same network port, and ensuring the normal execution of the business processing process.
[0051] Further, if the IPv6 local link address of the target network port is obtained, the first device identifier of the target device can be determined according to the IPv6 local link address.
[0052] In some embodiments, the IPv6 local link address can be used as the first device identifier of the target device; alternatively, the IPv6 local link address can be sent to a server of a first application so that the server generates a first device identifier of the target device based on the IPv6 local link address, and sends the first device identifier to the target device, and then the target device receives the first device identifier sent by the server.
[0053] For example, the server may perform a hash calculation based on the IPv6 local link address, and then use the hash calculation result as the first device identifier of the target device, which is not limited in this embodiment of the present disclosure.
[0054] In the above manner, the IPv6 local link address is used as the first device identifier of the target device, and the target device does not need to interact with other devices, which can improve the efficiency of business processing. The first device identifier is generated by the server of the first application. When the device is restarted, if the IPv6 local link address changes, the same device can be identified by the first device identifier, thereby improving the accuracy of business processing.
[0055] In some embodiments, the power-on time of the target device may also be determined and sent to the server, so that the server generates a first device identifier of the target device according to the power-on time and the IPv6 local link address.
[0056] For example, the power-on time may be determined by first determining the current time and the running time of the device, and then subtracting the running time of the device from the current time to obtain the power-on time. In the disclosed embodiment, after the first application is started, the power-on time of the target device may be synchronously determined when the IPv6 local link address is obtained. If the IPv6 local link address of the target network port is obtained, the power-on time and the IPv6 local link address may be packaged and sent to the server of the first application. Accordingly, the server may generate a first device identifier of the target device based on the power-on time and the IPv6 local link address. Thus, in combination with the power-on time and the IPv6 local link address, the situation where different devices obtain the same device identifier may be further reduced, the normal execution of the business processing process may be ensured, and the accuracy of the business processing results may be improved.
[0057] In some embodiments, the first device identifier sent by the server can also be stored in the disk of the target device, and the acquired IPv6 local link address can be stored in the disk as the historical IPv6 local link address. After the target device is restarted, the IPv6 local link address of the target network port in the target device can be re-acquired, and the first device identifier and the historical IPv6 local link address can be read from the disk, and then the first device identifier, the historical IPv6 local link address and the re-acquired IPv6 local link address can be sent to the server, so that the server saves the historical IPv6 local link address and the re-acquired IPv6 local link address according to the first device identifier.
[0058] It should be understood that in the scenario where the first device identifier is generated based on the IPv6 local link address, the first device identifier is stored in the disk of the target device, so that after the device is restarted, the same device identifier can be read from the disk and sent to the server, so that the server performs business processing based on the device identifier read from the disk, rather than regenerating the device identifier, thereby improving business processing efficiency and accuracy.
[0059] After the first device identifier and the historical IPv6 local link address are stored in the disk of the target device, if the target device is restarted, the IPv6 local link address of the target network port in the target device can be re-acquired after the target device is restarted, and the first device identifier and the historical IPv6 local link address can be read from the disk. Then, the first device identifier, the historical IPv6 local link address and the re-acquired IPv6 local link address are sent to the server of the first application, so that the server saves the historical IPv6 local link address and the re-acquired IPv6 local link address according to the first device identifier.
[0060] Thus, if it is necessary to perform business processing according to the first device identifier through the server, the server can compare the received first device identifier with the first device identifier generated by itself based on the IPv6 local link address in the historical process. If the comparison is consistent, it can be determined that the device in this business processing process is the same device as the device in the historical business processing, thereby generating the corresponding business processing result. For example, in a business scenario where a promotional activity is limited to one time, it can be determined that the device has participated in the promotional activity, so that the promotional information is no longer sent to the device. If the comparison is inconsistent, the historical IPv6 local link address and the re-acquired IPv6 local link address can be compared to generate the corresponding business processing result. For example, in the process of cross-application business interaction, the historical IPv6 local link address can be compared with the historical IPv6 local link address received by another application server, and the re-acquired IPv6 local link address can be compared with the IPv6 local link address re-acquired by another application. Among them, the historical IPv6 local link address corresponding to another application can be determined by referring to the above method, and the IPv6 local link address re-acquired by another application can also be determined by referring to the above method, which will not be repeated here.
[0061] Through the above method, the IPv6 local link address and the device identifier generated based on the IPv6 local link address in each business processing process can be saved through the disk and server, reducing the situation where the same device is identified as a different device after the device is restarted, improving the stability of the device identifier, and thus improving the accuracy of business processing.
[0062] After determining the first device identifier of the target device according to the IPv6 local link address by any of the above methods, in response to a service request triggered in the first application, a service processing result can be obtained according to the first device identifier.
[0063] For example, the business request is a business request in the first application for participating in a promotional activity. Accordingly, based on the first device identifier, the business processing result can be: the first device identifier is compared through the first application with the device identifier marked in the first application as having participated in the promotional activity. If the first device identifier is matched with the device identifier marked as having participated in the promotional activity, it is determined that the target device has participated in the promotional activity, and the promotional information is no longer displayed to the target device.
[0064] Therefore, by determining the device identification according to the IPv6 local link address of the target network port, the uniqueness of the device identification can be guaranteed, and then business processing based on the device identification can reduce the situation where the same device is identified as different devices, thereby improving the accuracy of business processing.
[0065] In some embodiments, the service request is a service request between the first application and the second application installed on the target device. After the second application is started, the IPv6 local link address of the target network port in the target device can be obtained again. If the IPv6 local link address is obtained again, the second device identifier can be determined according to the IPv6 local link address obtained again. Accordingly, the first device identifier can be compared with the second device identifier, and the service processing result can be obtained according to the comparison result.
[0066] It should be understood that in actual applications, different applications have business interactions. For example, application B places an advertisement in application A. When a user clicks the advertisement in application A, he can jump from application A to application B. In this scenario, both application A and application B need to obtain the device identifier, and after obtaining the device identifier, application A can send the device identifier to application B. Then application B compares the device identifier sent by application A with the device identifier obtained by itself, thereby completing the advertising attribution analysis. This process can be performed on the target device where application A and application B are installed.
[0067] In the disclosed embodiment, if the service request is a service request between a first application and a second application installed on a target device, the target device can obtain the IPv6 local link address of the target network port again after the second application is started. If the IPv6 local link address is obtained again, the target device can determine the second device identifier based on the IPv6 local link address obtained again. Then the target device compares the first device identifier with the second device identifier through the second application, and obtains the service processing result based on the comparison result. Therefore, in a cross-application service scenario, service processing can be performed through the IPv6 local link address to improve the accuracy of service processing.
[0068] In some embodiments, when the first device identifier is the same as the second device identifier, a service processing result indicating that the first application and the second application correspond to the same device can be obtained. When the first device identifier is different from the second device identifier, the IPv6 local link address obtained after the first application is started can be compared with the IPv6 local link address obtained after the second application is started, and when the IPv6 local link address obtained after the first application is started is the same as the IPv6 local link address obtained after the second application is started, a service processing result indicating that the first application and the second application correspond to the same device can be obtained.
[0069] That is to say, the device identification can be matched first. If the device identification matches, it can be determined that the first application and the second application correspond to the same device. If the device identification matches are inconsistent, the IPv6 local link address can be further compared. If they match, it can be determined that the first application and the second application correspond to the same device. Among them, if there are multiple target network ports, it can be determined that the first application and the second application correspond to the same device when at least one IPv6 local link address obtained by the first application is consistent with the IPv6 local link address obtained by the second application.
[0070] In some embodiments, if the IPv6 local link address is not obtained, the power-on time and device information of the target device may be determined, and then the first device identifier of the target device may be determined based on the power-on time and device information of the target device.
[0071] For example, the device information may include the manufacturer information, operating system version information, etc. of the target device, which is not limited in the embodiments of the present disclosure. Determining the first device identification of the target device based on the power-on time and device information of the target device may be to perform a hash calculation based on the power-on time and device information of the target device, and then use the hash calculation result as the first device identification of the target device. Alternatively, the first device identification of the target device may be determined based on the power-on time and device information of the target device through other character conversion methods in the relevant technology, which is not limited in the embodiments of the present disclosure.
[0072] It should be understood that in actual applications, the proportion of devices that cannot obtain the IPv6 local link address of a stable network port (i.e., the target network port) is relatively low, so the unit of the power-on time in the embodiment of the present disclosure can be accurate to seconds. In this way, the accuracy of the power-on time can be guaranteed, and the situation where the device identifiers of different devices are the same can be reduced, thereby ensuring the accuracy of business processing.
[0073] The following uses a cross-application business scenario as an example to illustrate the business processing method provided by the present disclosure.
[0074] Reference Figure 2, application A and application B are installed in the same target device. After application A is started, it sends the model information of the target device to server A' to query the stable network port list. Among them, server A' is the server corresponding to application A. Then, server A' returns the stable network port list corresponding to the target device to application A in the target device. The target device obtains the corresponding IPv6 local link address based on the received stable network port list and determines its own boot time. If the IPv6 local link address is obtained, the target device sends the boot time to server A' through application A. Server A' can generate a device identifier ServerID based on the boot time and IPv6 local link address, and return the Server ID to the target device. After receiving the Server ID, the target device can save the Server ID to the disk. If the IPv6 local link address is not obtained, the device information of the target device can be obtained, and then the device information and boot time are sent to server A'. Server A' generates Server ID based on the device information and boot time, and sends Server ID to the target device. After receiving the Server ID, the target device can save the Server ID to the disk.
[0075] If the target device is restarted, after the A application is started, the IPv6 local link address is re-acquired in the above manner, and the Server ID before the restart is read from the disk. After that, the target device sends the Server ID read from the disk and the re-acquired IPv6 local link address to the A' server. The A' server can save the IPv6 local link address received this time and the IPv6 local link address received before the target device was restarted according to the Server ID. The B' server is the server corresponding to the B application. The execution process of the B application is similar to that of the A application, which will not be repeated here.
[0076] When application A interacts with application B, if the IPv6 local link address is obtained, application A can pass the Server ID and the IPv6 local link address obtained historically to application B. Then, application B first tries to match whether the Server IDs corresponding to application A and application B are consistent. If they are inconsistent, the IPv6 local link address passed by application A is matched with the IPv6 local link address obtained by application B to determine whether application A and application B correspond to the same device. If the IPv6 local link address is not obtained, the Server ID and information such as the boot time obtained historically can be passed to application B. Then application B can first try to match whether the Server IDs are consistent. If they are inconsistent, the boot time and other information passed by application A is matched with the boot time and other information obtained by application B to determine whether application A and application B correspond to the same device.
[0077] Through the above method, the device identification can be determined according to the IPv6 local link address of the stable network port in the device, thereby improving the stability of the device identification obtained by the same device, reducing the situation where different devices obtain the same device identification, and improving the business accuracy across applications.
[0078] Based on the same concept, the embodiment of the present disclosure also provides a service processing device, which can be part or all of the electronic device through software, hardware or a combination of both. Figure 3 , the service processing device 300 may include:
[0079] The acquisition module 301 is used to acquire the IPv6 local link address of the target network port in the target device after the first application is started, wherein the target device is a device on which the first application is installed, and the target network port is a network port whose IPv6 local link address remains unchanged after the target device is started;
[0080] A determination module 302, configured to determine a first device identifier of the target device according to the IPv6 local link address when the IPv6 local link address is acquired;
[0081] The processing module 303 is used to obtain a service processing result according to the first device identifier in response to the service request triggered in the first application.
[0082] Optionally, the acquisition module 301 is used to:
[0083] Determining the operating system type of the target device;
[0084] Determining a target network port among the network ports of the target device according to the operating system type;
[0085] Obtain the IPv6 local link address of the target network port.
[0086] Optionally, the server of the first application stores preset network port information, where the preset network port information is used to characterize the correspondence between the device type and the target network port, and the acquisition module 301 is used to:
[0087] Determining a device type of the target device;
[0088] Sending the device type to a server, so that the server determines the target network port corresponding to the target device according to the device type and the preset network port information, and sends the information of the target network port corresponding to the target device to the target device;
[0089] Receiving information of a target network port corresponding to the target device, and parsing the information to obtain the target network port corresponding to the target device;
[0090] Obtain the IPv6 local link address of the target network port corresponding to the target device.
[0091] Optionally, the determining module 302 is used to:
[0092] Using the IPv6 local link address as the first device identifier of the target device; or
[0093] Sending the IPv6 local link address to a server of the first application program, so that the server generates a first device identifier of the target device according to the IPv6 local link address, and sending the first device identifier to the target device;
[0094] Receive the first device identification sent by the server.
[0095] Optionally, the device 300 further includes:
[0096] The sending module is used to determine the power-on time of the target device and send the power-on time to the server, so that the server generates a first device identifier of the target device according to the power-on time and the IPv6 local link address.
[0097] Optionally, the device 300 further includes:
[0098] A first storage module, used for storing the first device identification sent by the server into a disk of the target device, and storing the IPv6 local link address as a historical IPv6 local link address into the disk;
[0099] A first execution module is used to reacquire the IPv6 local link address of the target network port in the target device after the target device is restarted, and read the first device identifier and the historical IPv6 local link address from the disk;
[0100] The second saving module is used to send the first device identification, the historical IPv6 local link address and the re-acquired IPv6 local link address to the server, so that the server saves the historical IPv6 local link address and the re-acquired IPv6 local link address according to the first device identification.
[0101] Optionally, the service request is a service request between the first application and a second application installed on the target device, and the apparatus 300 further includes:
[0102] a second execution module, configured to obtain again the IPv6 local link address of the target network port in the target device after the second application is started, and if the IPv6 local link address is obtained again, determine the second device identifier according to the IPv6 local link address obtained again;
[0103] The processing module 303 is used for:
[0104] The first device identifier is compared with the second device identifier, and a service processing result is obtained according to the comparison result.
[0105] Optionally, the processing module 303 is used to:
[0106] When the first device identifier is the same as the second device identifier, a service processing result indicating that the first application and the second application correspond to the same device is obtained;
[0107] When the first device identifier is different from the second device identifier, the IPv6 local link address obtained after the first application is started is compared with the IPv6 local link address obtained after the second application is started, and when the IPv6 local link address obtained after the first application is started is the same as the IPv6 local link address obtained after the second application is started, a business processing result is obtained, which indicates that the first application and the second application correspond to the same device.
[0108] Optionally, the device 300 further includes:
[0109] The third execution module is used to determine the power-on time and device information of the target device when the IPv6 local link address is not obtained, and determine the first device identifier of the target device according to the power-on time and device information of the target device.
[0110] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0111] Based on the same inventive concept, an embodiment of the present disclosure further provides a computer-readable medium on which a computer program is stored, and when the program is executed by a processing device, the steps of any of the above-mentioned business processing methods are implemented.
[0112] Based on the same inventive concept, the present disclosure also provides an electronic device, including:
[0113] a storage device having a computer program stored thereon;
[0114] A processing device is used to execute the computer program in the storage device to implement the steps of any of the above-mentioned business processing methods.
[0115] Reference below Figure 4 , which shows a schematic diagram of the structure of an electronic device 400 suitable for implementing the embodiment of the present disclosure. The terminal device in the embodiment of the present disclosure may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 4 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0116] like Figure 4 As shown, the electronic device 400 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage device 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the electronic device 400 are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.
[0117] Typically, the following devices may be connected to the I / O interface 405: an input device 406 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 407 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 408 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 409. The communication device 409 may allow the electronic device 400 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 4 The electronic device 400 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0118] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 409, or installed from the storage device 408, or installed from the ROM 402. When the computer program is executed by the processing device 401, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0119] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0120] In some embodiments, any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol) can be used for communication, and can be interconnected with any form or medium of digital data communication (e.g., communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), internets (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
[0121] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0122] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device: after the first application is started, obtains the IPv6 local link address of the target network port in the target device, the target device is the device installed with the first application, and the target network port is the network port whose IPv6 local link address remains unchanged after the target device is started; if the IPv6 local link address is obtained, determine the first device identifier of the target device according to the IPv6 local link address; in response to the service request triggered in the first application, obtain the service processing result according to the first device identifier.
[0123] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0124] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0125] The modules involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a module does not, in some cases, limit the module itself.
[0126] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0127] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0128] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0129] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0130] Although the subject matter has been described in language specific to structural features and / or method logic actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims. Regarding the device in the above embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Claims
1. A business processing method, characterized in that: The method comprises: After the first application is started, an IPv6 local link address of a target network port in a target device is obtained, wherein the target device is a device on which the first application is installed, and the target network port is a network port whose IPv6 local link address remains unchanged after the target device is started; If the IPv6 local link address is obtained, determining the first device identifier of the target device according to the IPv6 local link address; In response to a service request triggered in the first application, a service processing result is obtained according to the first device identifier.
2. The method according to claim 1, characterized in that The step of obtaining the IPv6 local link address of the target network port in the target device includes: Determining the operating system type of the target device; Determining a target network port among the network ports of the target device according to the operating system type; Obtain the IPv6 local link address of the target network port.
3. The method according to claim 1, characterized in that The server of the first application stores preset network port information, where the preset network port information is used to characterize the corresponding relationship between the device type and the target network port, and the acquiring the IPv6 local link address of the target device includes: Determining a device type of the target device; Sending the device type to a server, so that the server determines the target network port corresponding to the target device according to the device type and the preset network port information, and sends the information of the target network port corresponding to the target device to the target device; Receiving information of a target network port corresponding to the target device, and parsing the information to obtain the target network port corresponding to the target device; Obtain the IPv6 local link address of the target network port corresponding to the target device.
4. The method according to any one of claims 1 to 3, characterized in that: The step of determining the first device identifier of the target device according to the IPv6 local link address includes: Using the IPv6 local link address as the first device identifier of the target device; or Sending the IPv6 local link address to a server of the first application program, so that the server generates a first device identifier of the target device according to the IPv6 local link address, and sending the first device identifier to the target device; Receive the first device identifier sent by the server.
5. The method according to claim 4, characterized in that The method further comprises: The power-on time of the target device is determined, and the power-on time is sent to the server, so that the server generates a first device identifier of the target device according to the power-on time and the IPv6 local link address.
6. The method according to claim 4, characterized in that The method further comprises: storing the first device identifier sent by the server into a disk of the target device, and storing the IPv6 local link address as a historical IPv6 local link address into the disk; After the target device is restarted, reacquire the IPv6 local link address of the target network port in the target device, and read the first device identifier and the historical IPv6 local link address from the disk; The first device identifier, the historical IPv6 local link address and the re-acquired IPv6 local link address are sent to the server, so that the server saves the historical IPv6 local link address and the re-acquired IPv6 local link address according to the first device identifier.
7. The method according to any one of claims 1 to 3, characterized in that: The service request is a service request between the first application and a second application installed on the target device, and the method further includes: After the second application is started, the IPv6 local link address of the target network port in the target device is obtained again, and if the IPv6 local link address is obtained again, the second device identifier is determined according to the IPv6 local link address obtained again; The obtaining a service processing result according to the first device identifier includes: The first device identifier is compared with the second device identifier, and a service processing result is obtained according to the comparison result.
8. The method according to claim 7, characterized in that The business processing is performed according to the comparison result to obtain the business processing result, including: When the first device identifier is the same as the second device identifier, a service processing result indicating that the first application and the second application correspond to the same device is obtained; When the first device identifier is different from the second device identifier, the IPv6 local link address obtained after the first application is started is compared with the IPv6 local link address obtained after the second application is started, and when the IPv6 local link address obtained after the first application is started is the same as the IPv6 local link address obtained after the second application is started, a business processing result is obtained, which indicates that the first application and the second application correspond to the same device.
9. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: If the IPv6 local link address is not obtained, determining the power-on time and device information of the target device; A first device identifier of the target device is determined according to the power-on time and device information of the target device.
10. A service processing device, characterized in that: The device comprises: an acquisition module, configured to acquire, after the first application is started, an IPv6 local link address of a target network port in a target device, wherein the target device is a device on which the first application is installed, and the target network port is a network port whose IPv6 local link address remains unchanged after the target device is started; a determination module, configured to determine, when the IPv6 local link address is acquired, a first device identifier of the target device according to the IPv6 local link address; A processing module is used to obtain a business processing result according to the first device identifier in response to the business request triggered in the first application.
11. A non-transitory computer-readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processing device, the steps of the method described in any one of claims 1 to 9 are implemented.
12. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Global address acquisition method and apparatus of intranet device, and storage medium
CN107426345A
Information processing method, device and computer readable storage medium
CN108228202A