Platform software authorization sharing method and device, storage medium and electronic equipment

CN117914597BActive Publication Date: 2026-10-27CHINA DESIGN DIGITAL TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410084712.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-01-19
Publication Date
2026-10-27
Estimated Expiration
2044-01-19

AI Technical Summary

Technical Problem

但是每种技术都有局限性,比如分配给被授权的用户的授权信息为激活码时,激活码可能被恶意用户非法复制或共享,导致未经授权的访问;同样,分配给被授权的用户的授权信息为许可证文件时,许可证文件也可能被盗取、复制或篡改,从而导致授权的滥用,因此,如何提高软件授权的可靠性,成为亟需解决的技术问题

Benefits of technology

在用户方成功登录软件授权共享平台对应的客户端后,根据工具使用指令,从第三方工具集合中确定用户方需要登录使用的工具,即,待使用工具,在用户方登录使用之前,需要对其授权进行验证,进一步地,判断用户方是否具有使用权限,如果具有使用权限,说明用户方具有合法授权身份,接着根据已购买点位数量,对使用权限进行点位校验,从而避免恶意用户访问和操作软件。如果点位校验通过后,再次确保当前访问的用户的合法性,最后由服务器自动将待使用工具对应的工具授权信息填充到软件登录页中,完成用户方的授权验证,从而最大程度地避免工具授权信息泄露给普通用户个人,造成授权信息非法复制、共享、篡改行为发生,进而提升软件授权的可靠性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117914597B_ABST
    Figure CN117914597B_ABST
Patent Text Reader

Abstract

The application relates to a platform software authorization sharing method and device, a storage medium and electronic equipment, and relates to the technical field of authorization sharing, wherein the method comprises the following steps: when a user side successfully logs in a client corresponding to a software authorization sharing platform, acquiring a tool use instruction sent by the client; based on the tool use instruction, judging whether the user side has a use permission of a to-be-used tool, if yes, acquiring a purchased point position number of the to-be-used tool from tool authorization information corresponding to the user side; according to the purchased point position number, performing point position verification on the use of the to-be-used tool by the user side; if the point position verification is passed, filling the tool authorization information into a software login page corresponding to the to-be-used tool, and after successful login, determining that authorization verification of the to-be-used tool on the user side is passed. The application has the effect of improving the reliability of software authorization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of licensed sharing technology, specifically to a platform software licensed sharing method, apparatus, storage medium, and electronic device. Background Technology

[0002] With the development of information technology, software information security and software technology intellectual property rights are receiving increasing attention from software developers. Software developers hope that the information security of software products can be guaranteed, and at the same time, they hope that the right to use software can be legally protected. Therefore, only authorized terminals are allowed to use software products. Against this background, software asset licensing management technology has emerged and developed rapidly.

[0003] Currently, common software licensing technologies include activation codes and license files. These technologies are often used in combination to provide stronger authorization and protection. However, each technology has limitations. For example, when the authorization information assigned to an authorized user is an activation code, the activation code may be illegally copied or shared by malicious users, leading to unauthorized access. Similarly, when the authorization information assigned to an authorized user is a license file, the license file may also be stolen, copied, or tampered with, resulting in the abuse of authorization. Therefore, how to improve the reliability of software licensing has become an urgent technical problem to be solved. Summary of the Invention

[0004] To improve the reliability of software licensing, this application provides a platform software licensing and sharing method, apparatus, storage medium, and electronic device.

[0005] The first aspect of this application provides a platform software licensing and sharing method, specifically including: When the user successfully logs into the client corresponding to the software authorization sharing platform, the tool usage instruction sent by the client is obtained. The tool usage instruction is the user's request to use a tool in a preset set of third-party tools. Based on the tool usage instructions, it is determined whether the user has the permission to use the tool to be used. If so, the number of purchased points for the tool to be used is obtained from the tool authorization information corresponding to the user. The tool authorization information is the authorization information assigned to the user after purchasing the permission to use the tool to be used. The number of purchased points is the number of points purchased by a legally authorized account with the permission to use the tool to be used. Based on the number of purchased locations, the user side uses the tool to be used to verify the locations. If the location verification passes, the tool authorization information is filled into the software login page corresponding to the tool to be used, and after successful login, it is confirmed that the authorization verification of the tool to be used for the user has passed.

[0006] By adopting the above technical solution, after the user successfully logs into the client corresponding to the software authorization sharing platform, the tool the user needs to log in to use is determined from the third-party tool set according to the tool usage instructions. Before the user logs in, the authorization of the tool needs to be verified. Furthermore, it is determined whether the user has the necessary usage permissions. If the user has the permissions, it indicates that the user has a legitimate authorized identity. Then, based on the number of purchased access points, the usage permissions are verified to prevent malicious users from accessing and operating the software. If the access point verification passes, the legitimacy of the currently accessing user is verified again. Finally, the server automatically fills the software login page with the tool authorization information corresponding to the tool to be used, completing the user's authorization verification. This minimizes the risk of tool authorization information being leaked to ordinary users, preventing illegal copying, sharing, or tampering of authorization information, thereby improving the reliability of software authorization.

[0007] Optionally, before obtaining the tool usage instructions sent by the client when the user successfully logs into the client corresponding to the software authorization sharing platform, the method further includes: Receive an authorization account purchase instruction sent by the client corresponding to the software authorization sharing platform, wherein the authorization account purchase instruction is an instruction sent by the user through the client to purchase an authorization account; Send the authorized account purchase instruction to the tool to be used, so that the tool to be used can allocate at least one legitimate authorized account and other tool authorization information; Save the authorization information of each legally authorized account and the authorization information of other tools to obtain the tool authorization information corresponding to the user, and assign the user the usage permission of the tool to be used.

[0008] By adopting the above technical solution, users can purchase authorized accounts for tools to be used on this software authorization sharing platform, that is, purchase the right to use the tools. This ensures that the allocated legal authorized accounts and other tool authorization information are directly saved to the server, avoiding allocation to ordinary users and effectively preventing the leakage of authorization information.

[0009] Optionally, the step of verifying the user's use of the tool to be used based on the number of purchased locations specifically includes: Determine the number of currently occupied points corresponding to the user's location for the tool to be used; If the number of occupied points is less than the number of purchased points, then it is determined that the point verification is successful when the user uses the tool to be used. If the number of occupied points is not less than the number of purchased points, then the point verification for the user using the tool to be used is determined to have failed.

[0010] By adopting the above technical solution, if the number of occupied points is less than the number of purchased points, it means that there are still available points, that is, there are still authorized accounts that can log in, indicating that the tool to be used can be logged in and the point verification is confirmed to be successful; if the number of occupied points is not less than the number of purchased points, it means that there are no available points, even if the user has the right to use the tool, there is no available authorized account, and the point verification is confirmed to be unsuccessful.

[0011] Optionally, if the location verification passes, the tool authorization information is filled into the software login page corresponding to the tool to be used, specifically including: If the location verification passes, then select currently unused idle authorized accounts from the list of all legally authorized accounts; The idle authorized account is determined as the login account for the software login page corresponding to the tool to be used, and the authorization information in the tool authorization information excluding the legal authorized account is filled into the software login page.

[0012] By adopting the above technical solution, if the location verification passes and it is determined that the user can log in to the tool to be used with a legally authorized account, then an idle authorized account is selected from the legally authorized accounts purchased by the user. Then, the server automatically fills this idle authorized account and the authorization information other than the legally authorized account into the software login page. No manual input is required, and the software authorization verification is completed conveniently and quickly.

[0013] Optionally, the method further includes: Determine the user type of the login user corresponding to the non-idle authorized account among the various legal authorized accounts, wherein the non-idle authorized account is the legal authorized account currently in use; Determine the account usage duration range corresponding to the personnel type from the preset usage duration matching table; The system counts the duration of inactivity of each logged-in user for the tool to be used. If the duration of inactivity exceeds a time threshold, a logout reminder is sent to the corresponding logged-in user's terminal. If the duration of non-use does not exceed the duration threshold, then the login duration of the corresponding logged-in user is counted. If the login duration is not within the corresponding account usage duration range, a logout reminder will be sent to the terminal of the corresponding user.

[0014] By adopting the above technical solution, if the duration of non-use exceeds the time threshold, it indicates that the logged-in user has not used the tool for a long time after logging in, resulting in a low usage rate of the tool. In this case, a logout reminder is sent to the corresponding logged-in user. If the duration of non-use does not exceed the time threshold, it indicates that there is no long period of non-use of the tool after logging in. Furthermore, if the login duration is not within the usage time range of the user's account, it indicates that the login duration of the corresponding user is likely abnormal. In this case, a logout reminder is also sent, thereby freeing up idle authorized accounts in real time for users who need to use the tool.

[0015] Optionally, after sending a logout reminder to the corresponding user's terminal if the login duration is not within the corresponding usage duration range, the method further includes: If no login is detected within the preset time period, the target user type of the user who did not log out is determined. If the number of identical types among the target personnel types exceeds a preset number, then the distribution time period of continuous use of the tool by target login personnel with the same target personnel type is determined; Identify overlapping time periods among the distribution time periods corresponding to all the target login users. If the number of overlapping time periods exceeds a threshold, extend the time for sending logout reminders to the target login users.

[0016] By adopting the above technical solution, if no login is detected for the corresponding user's terminal after a preset time, it indicates that the user has not logged out for an extended period after the login reminder was issued. Therefore, the target user type of each user who has not logged out is determined. If the number of users with the same type exceeds a preset number, it indicates that many users who have not logged out are related. Furthermore, if there is significant overlap in the time periods of all target users, and the usage time of the tools by each target user is similar in distribution, it indicates that the target users have a collaborative relationship in using the tools, possibly working together on the same task. Therefore, extending the time for issuing login reminders to the target users makes the issuance of login reminders more reasonable.

[0017] Optionally, before obtaining the tool usage instructions sent by the client, the method further includes: Determine the first number of tools that the user has purchased and has access to. If the first number exceeds a threshold, determine the historical usage frequency of each of the purchased tools by the currently logged-in user. The purchased tools are sorted in descending order of historical usage frequency to obtain the first sorted set. The higher the historical usage frequency, the higher the ranking. Determine the second number of idle authorized accounts for each of the purchased tools, and sort the purchased tools in descending order of the second number to obtain a second sorted set. The larger the second number, the earlier the tool is in the sorted set. In order from front to back, the third number of purchased tools is selected from the first sorted set to obtain the first subset, and the third number of purchased tools is selected from the second sorted set to obtain the second subset. The purchased tools in the first subset and the second subset are combined into a third-party tool set.

[0018] By adopting the above technical solution, before obtaining the tool selection instruction, the user's purchased tools are sorted to obtain a first sorted set and a second sorted set. Then, in a forward-to-back order, the third purchased tool is selected from each of the first and second sorted sets, resulting in a first subset (purchased tools with high usage frequency) and a second subset (purchased tools with sufficient available authorized accounts). Finally, the shared purchased tools in the first and second subsets are determined as a third-party tool set for the currently logged-in user to choose from, facilitating a quick and convenient selection of a tool that meets their usage needs and allows for immediate login.

[0019] A second aspect of this application provides a platform software licensing and sharing device, specifically comprising: The instruction acquisition module is used to acquire the tool usage instruction sent by the client when the user successfully logs in to the client corresponding to the software authorization sharing platform. The tool usage instruction is the user's request to use a tool in a preset set of third-party tools. The permission verification module is used to determine whether the user has permission to use the tool based on the tool usage instructions. If so, the module retrieves the number of purchased points for the tool from the tool authorization information corresponding to the user. The tool authorization information is the authorization information assigned to the user after purchasing permission to use the tool. The number of purchased points is the number of points purchased by a legitimate authorized account with permission to use the tool. The location verification module is used to verify the location of the user using the tool to be used, based on the number of locations already purchased. The authorization verification module is used to fill the tool authorization information into the software login page corresponding to the tool to be used if the location verification passes, and to determine that the authorization verification of the tool to be used for the user has passed after successful login.

[0020] By adopting the above technical solution, the instruction acquisition module obtains the tool usage instruction sent by the client, the permission verification module determines whether the user has the permission to use the tool to be used, and if so, it obtains the number of purchased points for the tool to be used. Then, the point verification module performs point verification on the user's use of the tool to be used based on the number of purchased points. Finally, after the point verification passes, the authorization verification module fills the tool authorization information into the software login page corresponding to the tool to be used, and after successful login, it confirms that the authorization verification of the tool to be used for the user has passed.

[0021] A third aspect of this application provides a computer-readable storage medium storing a computer program that, when loaded and executed by a processor, performs the steps of the method described in any one of the first aspects.

[0022] A fourth aspect of this application provides an electronic device, specifically comprising: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, the processor being configured to load and execute the computer program stored in the memory to cause the electronic device to perform the method as described in any one of the first aspects.

[0023] In summary, this application includes at least one of the following beneficial technical effects: After a user successfully logs into the client corresponding to the software authorization sharing platform, the system determines the tool the user needs to log in to use from the third-party tool set, based on the tool usage instructions. Before the user logs in, the authorization is verified to determine if the user has the necessary permissions. If permissions are granted, the user is considered legitimately authorized. Next, based on the number of purchased access points, access permissions are verified to prevent malicious users from accessing and operating the software. If the access point verification passes, the legitimacy of the currently accessing user is confirmed again. Finally, the server automatically fills the software login page with the tool authorization information corresponding to the tool to be used, completing the user's authorization verification. This minimizes the risk of tool authorization information being leaked to ordinary users, preventing illegal copying, sharing, or alteration of authorization information, thereby improving the reliability of software authorization. Attached Figure Description

[0024] Figure 1 This is a flowchart illustrating a platform software licensing and sharing method provided in an embodiment of this application; Figure 2 This is a flowchart illustrating another platform software licensing and sharing method provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of a platform software licensing and sharing device provided in an embodiment of this application; Figure 4 This is a schematic diagram of another platform software licensing and sharing device provided in an embodiment of this application.

[0025] Explanation of reference numerals in the attached diagram: 11. Command acquisition module; 12. Permission verification module; 13. Location verification module; 14. Authorization verification module; 15. Permission purchase module; 16. Exit reminder module; 17. Reminder extension module; 18. Tool recommendation module. Detailed Implementation

[0026] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0027] In the description of the embodiments in this application, words such as "illustrative," "for example," or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "illustrative," "for example," or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Rather, the use of words such as "illustrative," "for example," or "for example" is intended to present the relevant concepts in a specific manner.

[0028] In the description of the embodiments of this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, B existing alone, or A and B existing simultaneously. Furthermore, unless otherwise stated, the term "multiple" means two or more. For example, multiple systems refer to two or more systems, and multiple screen terminals refer to two or more screen terminals. In addition, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and their variations all mean "including but not limited to," unless otherwise specifically emphasized.

[0029] See Figure 1 This application discloses a flowchart of a platform software licensing and sharing method, which can be implemented using a computer program or run on a platform software licensing and sharing device based on the von Neumann architecture. The computer program can be integrated into an application or run as a standalone utility application, specifically including: S101: When the user successfully logs into the client corresponding to the software authorization sharing platform, obtain the tool usage instructions sent by the client. The tool usage instructions are the user's request instructions to use the tools to be used in the preset third-party tool set.

[0030] Specifically, a software license sharing platform refers to a platform that provides software or tool license management and sharing functions, allowing software developers or service providers to centrally manage software license information. For users, simply logging into the client corresponding to the software license sharing platform allows for convenient verification of licenses for various software or tools for which they have purchased usage rights, followed by quick login and use of the corresponding software. For software developers or service providers, they can create and manage licenses for their own software or tools, improving the efficiency of their software usage. The tool usage instruction is the user's request to use a tool from a preset set of third-party tools. In this embodiment, "user" refers to an enterprise; in other embodiments, it could refer to an individual. A user logs in to the client corresponding to the software license sharing platform using an account registered on the platform. After successful login, the interface displays a set of third-party tools for which licenses are managed on the software license sharing platform. In this embodiment, the set of third-party tools represents the tools for which the user has purchased usage rights. Next, the user clicks to select the third-party tool they need to use on the interface, i.e., the tool to be used. The client sends the corresponding tool usage instructions to the server, mainly through the software development kit (SDK) integrated into the client. Finally, the server receives the tool usage instructions sent by the client.

[0031] It should be noted that when software developers or service providers need to manage their own software or tools on a software licensing and sharing platform, they enter basic software information such as name and the terminal they are using, as well as extended software information such as supported operating systems and the software icon. Finally, the software licensing and sharing platform reviews the entered software information. Once approved, it can be published on the client device using the terminal. The terminal can be an electronic device such as a mobile phone, tablet computer, e-book reader, multimedia playback device, wearable device, or personal computer (PC). The server is the backend server for the client, which can be a standalone physical server or a server cluster consisting of multiple physical servers. The server is the executing entity of the platform software licensing and sharing method disclosed in this application embodiment.

[0032] In one embodiment, before step S101, the method further includes: receiving an authorization account purchase instruction sent by the client corresponding to the software authorization sharing platform; Send the authorized account purchase instruction to the tool to be used, so that the tool to be used will allocate at least one legitimate authorized account and other tool authorization information; Save the authorization information of each legally authorized account and other tools, obtain the corresponding tool authorization information of the user, and assign the user the usage permissions of the tools to be used.

[0033] Specifically, the authorized account purchase instruction is an instruction sent by the user through the client to purchase an authorized account. Before logging into the software license sharing platform and selecting the tool to be used, the user first needs to register an account on the platform. After logging into the client, the server receives the authorized account purchase instruction from the client and then sends it to the tool. In other words, the user purchases usage rights for the tool on the platform. Further, the server receives at least one legitimate authorized account and other tool authorization information assigned by the tool, ultimately obtaining the tool's authorization information. This information is then used by the user to log in and verify the authorization for the tool, and is saved in the database. Additionally, usage rights for the tool are also assigned to the user.

[0034] S102: Based on the tool usage instructions, determine whether the user has the permission to use the tool to be used. If so, obtain the number of purchased points for the tool to be used from the tool authorization information corresponding to the user.

[0035] Specifically, upon receiving the tool usage instruction, the server identifies the user's identity information based on the user's login information on the software authorization sharing platform, and then determines whether the user has the permission to use the tool. One feasible method for this determination is as follows: once a user purchases the permission to use the tool, the server will activate or assign the corresponding permission, and the tool's authorization information will be recorded in the server. This authorization information is the authorization information assigned to the user after purchasing the permission. In this embodiment, the tool authorization information includes the number of purchased points, activation code, software license, legal authorized account, and tool purchase period. Therefore, if it is detected that the user has been allocated permission to use the tool, then it is determined whether the user has the permission to use the tool. However, at this point, it cannot be determined whether the currently logged-in user can use the tool. Further, point verification is required. Point verification refers to verifying specific locations or functions within the tool to ensure its accuracy and reliability. In this context, a legitimate authorized account refers to a legally authorized account that can log in and use this tool. Each legitimate authorized account corresponds to a "point," and each account has its own identity and permission information within the tool. This information is stored in specific locations or functions so that the software system can control user access to and operation of software functions based on the account's identity and permissions. These specific locations or functions used to manage accounts and authorizations are called "points." Finally, the number of purchased points is selected from the tool's authorization information. The number of purchased points represents the number of legitimately authorized accounts with usage rights to the tool that have purchased them.

[0036] S103: Based on the number of purchased locations, verify the locations using the tool to be used by the user.

[0037] In one feasible implementation, the number of occupied points corresponding to the currently used points for the user side of the tool to be used is determined; If the number of occupied points is less than the number of purchased points, then the point verification is confirmed to be successful when the user uses the tool to be used. If the number of occupied points is not less than the number of purchased points, then the point verification for the user using the tool to be used has failed.

[0038] Specifically, after determining the number of purchased monitoring points, the pre-set monitoring software is used to determine the number of currently used monitoring points for this user on this particular tool, i.e., the number of occupied monitoring points. In other embodiments, the number of occupied monitoring points for this user can also be queried from the log file of the software system of this tool. The number of occupied monitoring points is compared with the number of purchased monitoring points. If the number of occupied monitoring points is less than the number of purchased monitoring points, it means that there are available monitoring points for the user to log in and use this tool, and therefore, there are unused authorized monitoring points for this user on this particular tool. Login personnel on this user's side can log in, and the monitoring point verification passes. If the number of occupied monitoring points is not less than the number of purchased monitoring points, it means that there are no unused authorized monitoring points for this user, and login personnel cannot be supported. The monitoring point verification fails.

[0039] S104: If the location verification passes, the tool authorization information is filled into the software login page corresponding to the tool to be used, and after successful login, the authorization verification of the tool to be used for the user is confirmed to be successful.

[0040] In one feasible implementation, if the location verification passes, then select currently unused idle authorized accounts from among the legitimate authorized accounts; Identify the available authorized account as the login account for the software login page corresponding to the tool to be used, and fill the software login page with the authorization information from the tool's authorization information excluding the legitimate authorized account.

[0041] Specifically, after the location verification is passed, unused idle authorized accounts are selected from the multiple legitimate authorized accounts in the tool authorization information entered. One feasible selection method is to obtain the legitimate authorized accounts that the user is currently logging into using the tool in the software system through the API interface, thereby determining the currently unused idle authorized accounts. In this embodiment, there are multiple legitimate authorized accounts in the tool authorization information, that is, the user has purchased multiple authorized accounts for this tool. In other embodiments, the number of legitimate authorized accounts may also be one.

[0042] Once an available authorized account is determined, since the third-party tool to be used is integrated into the software license sharing platform, the tool sends its login page to the server. The server then automatically fills in the available authorized account as the login account for the current user on the software login page. Simultaneously, it automatically fills in the tool's authorization information (excluding the legitimate authorized account information), such as the activation code, license, and purchase period, into the login page. This allows for quick authorization verification of the current user's login. After successful login and access to the tool's interface, the authorization verification is confirmed, and the user can legally use the tool. It's worth noting that this method allows users to conveniently and quickly use various authorized software. They only need to access the corresponding client through one account on the software license sharing platform, click on the software with purchased usage rights displayed in the client, and the platform will automatically perform authorization verification until successful login. Users do not need to manually enter various authorization information for each different licensed software.

[0043] In other embodiments, the method further includes: determining the personnel type of the login user corresponding to the non-idle authorized account among the legitimate authorized accounts; Determine the account usage duration range corresponding to the user type from the preset usage duration matching table; The system tracks the duration of inactivity for each logged-in user regarding the tools to be used. If the duration of inactivity exceeds a threshold, a logout reminder is sent to the corresponding user's terminal. If the unused duration does not exceed the duration threshold, the login duration of the corresponding logged-in user will be counted. If the login duration is not within the corresponding account usage duration range, a logout reminder will be sent to the corresponding user's terminal.

[0044] Specifically, non-idle authorized accounts are currently in use and are considered legitimate authorized accounts. When each non-idle authorized account is being used by a user, the user type corresponding to that non-idle authorized account is determined. One possible method is to obtain the terminal IP address of the user corresponding to the non-idle authorized account, and then filter the log file to check the historical login frequency and average login duration for each user's terminal IP address. If both the login frequency and the average login duration are relatively high, it indicates a high level of engagement between the user and the tool being used, suggesting they may be a professional using the tool. Therefore, this user is classified as a user with a high level of engagement. Further, the login frequency and average login duration are weighted and summed to obtain a sum. This sum is then matched against a pre-defined user type matching table to determine the corresponding engagement level, thus identifying the user type. A larger sum indicates a higher engagement level.

[0045] Next, the system matches the account usage time range corresponding to the user type from a preset usage time matching table. The higher the stickiness level of the user type, the wider the corresponding account usage time range, and the larger the upper limit of the account usage time range. This ensures that users with high stickiness to the tool can have more flexible and longer usage times. Furthermore, the system calculates the duration of inactivity for each user, i.e., the duration of login but not use of the tool. If the duration of inactivity exceeds a threshold, it indicates that the user has not used the tool for an extended period after successfully logging in. To allow other users who genuinely need the tool to use the available authorized account, a logout reminder is sent to the user's terminal, freeing up their corresponding legitimate authorized account.

[0046] If the duration does not exceed the time threshold, it indicates that the logged-in user has not been inactive for an extended period. The login duration is then tallied to determine if it falls within the account's usage time range. If it does, the login duration is considered reasonable; otherwise, it indicates an abnormally long login duration. In this case, a logout reminder is sent to the user's device.

[0047] In another embodiment, if the login duration is not within the corresponding usage duration range, after sending a logout reminder to the corresponding user's terminal, the method further includes: If no login is detected within the preset time period, the target user type of the user who did not log out is determined. If the number of identical types in each target personnel type exceeds the preset number, then the distribution time period of continuous use of the tool by target login personnel with the same target personnel type is determined. Identify overlapping time periods among all target login users. If the number of overlapping time periods exceeds a threshold, extend the time interval for sending logout reminders to target login users.

[0048] Specifically, after issuing a logout reminder, if no corresponding user logs out within a preset time, it indicates that the user has not logged out for an extended period. Based on the terminal IP address of the user who did not log out, the target user type is determined. Further, the number of identical target user types is counted. If the number of identical types exceeds a preset number, it indicates that many users with similar stickiness to the tool have not logged out for an extended period after being reminded to do so. These users may be collaboratively working on the same task using the tool. Therefore, further verification is performed to obtain the distribution time periods during which each target user continuously uses the tool after logging in. For example, if the distribution time periods are 10:00-11:00, 12:00-13:00, and 14:00-15:00, it means that the target user is continuously using the tool during these three time periods.

[0049] Furthermore, by comparing the various time periods corresponding to each target user, the overlapping time periods of all target users are determined. That is, all target users are continuously using the tool during the overlapping time periods. If the number of overlapping time periods exceeds the threshold, it indicates that the overlap in the time distribution of all target users continuously using the tool is high. This confirms that the target users are collaboratively handling the same task, eliminates the problem of abnormally long login time, and ultimately extends the time for issuing logout reminders to the target users.

[0050] See Figure 2 This application discloses a flowchart of another platform software licensing and sharing method, which can be implemented using a computer program or run on a platform software licensing and sharing device based on the von Neumann architecture. The computer program can be integrated into an application or run as a standalone utility application, specifically including: S201: When a user successfully logs into the client corresponding to the software authorization sharing platform, determine the first number of tools that the user has purchased and whose usage rights have been granted. If the first number exceeds the number threshold, determine the historical usage frequency of each purchased tool by the currently logged-in user.

[0051] Specifically, when a user successfully logs into the client corresponding to the software authorization sharing platform, the first number of tools purchased by the user is determined. One feasible method is to filter out all third-party tool permission information corresponding to this user from the pre-entered third-party tool permission information and count their number; that is, the first number of purchased tools, with each purchased tool corresponding to one third-party tool permission information. If the first number exceeds a threshold, it indicates that the user has purchased permission for many different third-party tools, making it difficult for the currently logged-in user to select the desired tool. Therefore, the historical usage frequency of each purchased tool by the currently logged-in user is counted. Specifically, the terminal IP address of the currently logged-in user is obtained from the log file, along with the historical usage frequency of each purchased tool.

[0052] S202: Sort all purchased tools in descending order of historical usage frequency to obtain the first sorted set. The higher the historical usage frequency, the higher the ranking.

[0053] S203: Determine the second number of available authorized accounts for each purchased tool, and sort the purchased tools in descending order of the second number to obtain a second sorted set. The larger the second number, the earlier the tool is in the sorted set.

[0054] Specifically, the purchased tools are sorted in descending order of historical usage frequency, forming the first sorted set. The higher the historical usage frequency, the more frequently the current user uses the corresponding purchased tool, and the higher its ranking. Further, a second set of available authorized accounts is selected from the legally authorized accounts listed in the third-party tool authorization information for each purchased tool. Similarly, the purchased tools are sorted in descending order of this second number, resulting in the second sorted set. The higher the second number, the more available authorized accounts are available for the user, and the higher its ranking.

[0055] S204: Select the third number of purchased tools from the first sorted set in the order from front to back to obtain the first subset; select the third number of purchased tools from the second sorted set to obtain the second subset; and combine the common purchased tools in the first subset and the second subset into a third-party tool set.

[0056] Specifically, following a sequential order, a first subset is selected from the first sorted set. This first subset contains a third number of purchased tools, indicating tools with high usage frequency. A second subset is selected from the second sorted set. This second subset also contains a third number of purchased tools, indicating tools with a large number of available authorized accounts. Furthermore, purchased tools appearing simultaneously in both the first and second subsets are defined as shared purchased tools, thus identifying those frequently used by the currently logged-in user and having a large number of available authorized accounts. Finally, all shared purchased tools are integrated into a third-party tool set and displayed on the currently logged-in user's terminal interface. This allows the currently logged-in user to quickly and easily select a tool that is immediately usable and suits their needs. It should be noted that the third number is determined based on the number of tools with available authorized accounts among all purchased tools; the larger the number of tools, the larger the third number. Additionally, if the number of shared purchased tools is below a threshold, the number of selected tools in the first subset is increased.

[0057] S205: Obtain the tool usage instruction sent by the client. The tool usage instruction is the user's request to use a tool in the preset set of third-party tools.

[0058] Specifically, in one feasible implementation, if no tool usage instruction is received after the interval, it indicates that the third-party tool set may not contain the tool needed by the currently logged-in user. In this case, the third-ranked purchased tool from the first subset is selected from the first sorted set to form the third subset. The second sorted set is then updated based on the number of available authorized accounts for each purchased tool, i.e., it is re-sorted. Then, the third-ranked purchased tool combination is selected from the updated second sorted set from the beginning to form the fourth subset. Finally, the purchased tools shared by the third and fourth subsets are combined into a new third-party tool set, which is then displayed on the terminal interface. This process is repeated until a tool usage instruction is received from the client.

[0059] S206: Based on the tool usage instructions, determine whether the user has the permission to use the tool to be used. If so, obtain the number of purchased points for the tool to be used from the tool authorization information corresponding to the user.

[0060] S207: Based on the number of purchased locations, verify the locations using the tool to be used by the user.

[0061] S208: If the location verification passes, the tool authorization information will be filled into the software login page corresponding to the tool to be used, and the authorization verification of the tool to be used will be confirmed after successful login.

[0062] For details, please refer to steps S101-S104, which will not be repeated here.

[0063] The implementation principle of the platform software authorization sharing method in this application embodiment is as follows: After the user successfully logs into the client corresponding to the software authorization sharing platform, the tool that the user needs to log in to use is determined from the third-party tool set according to the tool usage instructions. That is, the tool to be used. Before the user logs in to use it, its authorization needs to be verified. Furthermore, it is determined whether the user has the right to use it. If the user has the right to use it, it means that the user has a legitimate authorized identity. Then, according to the number of points purchased, the right to use is verified by points, thereby preventing malicious users from accessing and operating the software. If the point verification passes, the legitimacy of the currently accessing user is verified again. Finally, the server automatically fills the tool authorization information corresponding to the tool to be used into the software login page to complete the user's authorization verification. This minimizes the leakage of tool authorization information to ordinary users, preventing illegal copying, sharing, and tampering of authorization information, thereby improving the reliability of software authorization.

[0064] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0065] Please see Figure 3 This is a schematic diagram of the platform software licensing and sharing device provided in an embodiment of this application. This device can be implemented as all or part of a whole through software, hardware, or a combination of both. The device includes an instruction acquisition module 11, a permission verification module 12, a point verification module 13, and an authorization verification module 14.

[0066] The instruction acquisition module 11 is used to acquire the tool usage instruction sent by the client when the user successfully logs in to the client corresponding to the software authorization sharing platform. The tool usage instruction is the user's request to use the tool in the preset third-party tool set. The permission verification module 12 is used to determine whether the user has the permission to use the tool based on the tool usage instructions. If so, the number of purchased points for the tool to be used is obtained from the tool authorization information corresponding to the user. The tool authorization information is the authorization information assigned to the user after purchasing the permission to use the tool. The number of purchased points is the number of points purchased by a legally authorized account with the permission to use the tool. The location verification module 13 is used to verify the location using the tool to be used by the user based on the number of locations purchased. The authorization verification module 14 is used to fill the tool authorization information into the software login page corresponding to the tool to be used if the point verification passes, and to confirm that the authorization verification of the tool to be used for the user has passed after successful login.

[0067] Optional, such as Figure 4 As shown, the device also includes a rights purchase module 15, specifically used for: Receive authorization account purchase instructions sent by the client corresponding to the software authorization sharing platform. The authorization account purchase instructions are instructions sent by the user through the client to purchase authorization accounts. Send the authorized account purchase instruction to the tool to be used, so that the tool to be used will allocate at least one legitimate authorized account and other tool authorization information; Save the authorization information of each legally authorized account and other tools, obtain the corresponding tool authorization information of the user, and assign the user the usage permissions of the tools to be used.

[0068] Optional, the point verification module 13 is specifically used for: Determine the number of currently occupied points corresponding to the user of the tool to be used; If the number of occupied points is less than the number of purchased points, then the point verification is confirmed to be successful when the user uses the tool to be used. If the number of occupied points is not less than the number of purchased points, then the point verification for the user using the tool to be used has failed.

[0069] Optional, the authorization verification module 14 is specifically used for: If the location verification passes, then select currently unused, available authorized accounts from among the legitimate authorized accounts; Identify the available authorized account as the login account for the software login page corresponding to the tool to be used, and fill the software login page with the authorization information from the tool's authorization information excluding the legitimate authorized account.

[0070] Optionally, the device also includes an exit reminder module 16, specifically used for: Determine the user type of the login user corresponding to the non-idle authorized account among the legitimate authorized accounts. The non-idle authorized account is the legitimate authorized account that is currently in use. Determine the account usage duration range corresponding to the user type from the preset usage duration matching table; The system tracks the duration of inactivity for each logged-in user regarding the tools to be used. If the duration of inactivity exceeds a threshold, a logout reminder is sent to the corresponding user's terminal. If the unused duration does not exceed the duration threshold, the login duration of the corresponding logged-in user will be counted. If the login duration is not within the corresponding account usage duration range, a logout reminder will be sent to the corresponding user's terminal.

[0071] Optionally, the device also includes a reminder extension module 17, specifically used for: If no login is detected within the preset time period, the target user type of the user who did not log out is determined. If the number of identical types in each target personnel type exceeds the preset number, then the distribution time period of continuous use of the tool by target login personnel with the same target personnel type is determined. Identify overlapping time periods among all target login users. If the number of overlapping time periods exceeds a threshold, extend the time interval for sending logout reminders to target login users.

[0072] Optionally, the device also includes a tool recommendation module 18, specifically used for: Determine the first number of tools that the user has purchased and has access to. If the first number exceeds the threshold, determine the historical usage frequency of each purchased tool by the currently logged-in user. The purchased tools are sorted in descending order of historical usage frequency to obtain the first sorted set. The higher the historical usage frequency, the higher the ranking. Determine the second number of available authorized accounts for each purchased tool, and sort the purchased tools in descending order of the second number to obtain the second sorted set. The larger the second number, the earlier the tool is in the sorted set. Following the order from front to back, select the third number of purchased tools from the first sorted set to obtain the first subset, select the third number of purchased tools from the second sorted set to obtain the second subset, and combine the purchased tools shared by the first and second subsets into a third-party tool set.

[0073] It should be noted that the platform software licensing and sharing device provided in the above embodiments is only illustrated by the division of the above functional modules when executing the platform software licensing and sharing method. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the platform software licensing and sharing device and the platform software licensing and sharing method embodiment provided in the above embodiments belong to the same concept, and the implementation process is detailed in the method embodiment, which will not be repeated here.

[0074] This application also discloses a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it employs a platform software licensing and sharing method as described in the above embodiments.

[0075] The computer program can be stored in a computer-readable medium. The computer program includes computer program code, which can be in the form of source code, object code, executable file, or certain middleware. The computer-readable medium includes any entity or device capable of carrying computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the computer-readable medium includes, but is not limited to, the above-mentioned components.

[0076] The above-described platform software licensing and sharing method is stored in the computer-readable storage medium and loaded and executed on the processor to facilitate the storage and application of the method.

[0077] This application also discloses an electronic device in which a computer program is stored in a computer-readable storage medium. When the computer program is loaded and executed by a processor, the above-mentioned platform software licensing and sharing method is used.

[0078] The electronic device can be a desktop computer, a laptop computer, or a cloud server, and includes, but is not limited to, a processor and a memory. For example, the electronic device may also include input / output devices, network access devices, and buses.

[0079] The processor can be a central processing unit (CPU). Of course, depending on the actual use, it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc., and this application does not limit it.

[0080] The memory can be an internal storage unit of an electronic device, such as a hard disk or RAM, or an external storage device, such as a plug-in hard disk, smart memory card (SMC), secure digital card (SD), or flash memory card (FC) equipped on the electronic device. Furthermore, the memory can be a combination of an internal storage unit and an external storage device. The memory is used to store computer programs and other programs and data required by the electronic device. The memory can also be used to temporarily store data that has been output or will be output. This application does not limit this.

[0081] In this electronic device, the platform software licensing and sharing method of the above embodiment is stored in the memory of the electronic device and loaded and executed on the processor of the electronic device for convenient use.

[0082] The foregoing description is merely an exemplary embodiment of this disclosure and should not be construed as limiting the scope of this disclosure. Any equivalent changes and modifications made in accordance with the teachings of this disclosure shall still fall within the scope of this disclosure. Other embodiments of this disclosure will be readily apparent to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not described herein. The specification and embodiments are to be considered exemplary only, and the scope and spirit of this disclosure are defined by the claims.

Claims

1. A platform software licensing and sharing method, characterized in that, Applied to a server, the method includes: When a user successfully logs into the client corresponding to the software license sharing platform, the system obtains a tool usage instruction sent by the client. The tool usage instruction is a request instruction from the user to use a tool in a preset set of third-party tools. The set of third-party tools consists of various third-party tools that are licensed and managed by the software license sharing platform. Based on the tool usage instructions, it is determined whether the user has the permission to use the tool to be used. If so, the number of purchased points for the tool to be used is obtained from the tool authorization information corresponding to the user. The tool authorization information is the authorization information assigned to the user after purchasing the permission to use the tool to be used. The number of purchased points is the number of points purchased by a legally authorized account with the permission to use the tool to be used. Based on the number of purchased locations, the user is used to verify the locations using the tool to be used. If the location verification passes, the tool authorization information is filled into the software login page corresponding to the tool to be used, and after successful login, it is confirmed that the authorization verification of the tool to be used for the user has passed.

2. The platform software licensing and sharing method according to claim 1, characterized in that, Before obtaining the tool usage instructions sent by the client when the user successfully logs into the client corresponding to the software authorization sharing platform, the process also includes: Receive an authorization account purchase instruction sent by the client corresponding to the software authorization sharing platform, wherein the authorization account purchase instruction is an instruction sent by the user through the client to purchase an authorization account; Send the authorized account purchase instruction to the tool to be used, so that the tool to be used can allocate at least one legitimate authorized account and other tool authorization information; Save the authorization information of each legally authorized account and the authorization information of other tools to obtain the tool authorization information corresponding to the user, and assign the user the usage permission of the tool to be used.

3. The platform software licensing and sharing method according to claim 1, characterized in that, The step of verifying the user's use of the tool to be used based on the number of purchased locations specifically includes: Determine the number of currently occupied points corresponding to the user's location for the tool to be used; If the number of occupied points is less than the number of purchased points, then the point verification is confirmed to be successful when the user uses the tool to be used. If the number of occupied points is not less than the number of purchased points, then the point verification for the user using the tool to be used is determined to have failed.

4. The platform software licensing and sharing method according to claim 1, characterized in that, If the location verification passes, the tool authorization information is filled into the software login page corresponding to the tool to be used, specifically including: If the location verification passes, then select currently unused idle authorized accounts from the list of all legally authorized accounts; The idle authorized account is determined as the login account for the software login page corresponding to the tool to be used, and the authorization information of the tool authorization information excluding the legal authorized account is filled into the software login page. The tool authorization information is the authorization information assigned to the user after purchasing the right to use the tool. The tool authorization information includes the number of points purchased, activation code, software license, legal authorized account, and tool purchase period.

5. The platform software licensing and sharing method according to claim 1, characterized in that, The method further includes: Determine the user type of the login user corresponding to the non-idle authorized account among the various legal authorized accounts, wherein the non-idle authorized account is the legal authorized account currently in use; Determine the account usage duration range corresponding to the personnel type from the preset usage duration matching table; The system counts the duration of inactivity of each logged-in user for the tool to be used. If the duration of inactivity exceeds a time threshold, a logout reminder is sent to the corresponding logged-in user's terminal. If the duration of non-use does not exceed the duration threshold, then the login duration of the corresponding logged-in user is counted. If the login duration is not within the corresponding account usage duration range, a logout reminder will be sent to the terminal of the corresponding user.

6. The platform software licensing and sharing method according to claim 5, characterized in that, If the login duration is not within the corresponding usage duration range, after sending a logout reminder to the corresponding user's terminal, the method further includes: If no login is detected within the preset time period, the target user type of the user who did not log out is determined. If the number of identical types among the target personnel types exceeds a preset number, then the distribution time period of continuous use of the tool by target login personnel with the same target personnel type is determined; Identify overlapping time periods among the distribution time periods corresponding to all the target login users. If the number of overlapping time periods exceeds a threshold, extend the time for sending the login reminder to the target login users.

7. The platform software licensing and sharing method according to claim 1, characterized in that, Before obtaining the tool usage instructions sent by the client, the method further includes: Determine the first number of tools that the user has purchased and has access to. If the first number exceeds a threshold, determine the historical usage frequency of each of the purchased tools by the currently logged-in user. The purchased tools are sorted in descending order of historical usage frequency to obtain the first sorted set. The higher the historical usage frequency, the higher the ranking. Determine the second number of available authorized accounts for each of the purchased tools, and sort the purchased tools in descending order of the second number to obtain a second sorted set. The larger the second number, the earlier the tool is sorted. In order from front to back, the third number of purchased tools is selected from the first sorted set to obtain the first subset, and the third number of purchased tools is selected from the second sorted set to obtain the second subset. The purchased tools in the first subset and the second subset are combined into a third-party tool set.

8. A platform software licensing and sharing device, characterized in that, include: The instruction acquisition module (11) is used to acquire the tool usage instruction sent by the client when the user successfully logs in to the client corresponding to the software authorization sharing platform. The tool usage instruction is the user's request to use a tool in a preset set of third-party tools. The set of third-party tools consists of various third-party tools that are authorized and managed in the software authorization sharing platform. The permission verification module (12) is used to determine whether the user has the permission to use the tool based on the tool usage instructions. If so, the number of purchased points of the tool to be used is obtained from the tool authorization information corresponding to the user. The tool authorization information is the authorization information assigned to the user after purchasing the permission to use the tool to be used. The number of purchased points is the number of points purchased by a legal authorized account with the permission to use the tool to be used. The location verification module (13) is used to verify the location of the user using the tool to be used based on the number of locations purchased. The authorization verification module (14) is used to fill the tool authorization information into the software login page corresponding to the tool to be used if the point verification is successful, and to determine that the authorization verification of the tool to be used for the user is successful after successful login.

9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is loaded and executed by the processor, it employs the method described in any one of claims 1-7.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and capable of running on the processor, characterized in that, When the processor loads and executes the computer program, it employs the method described in any one of claims 1-7.

Citation Information

Patent Citations

  • Software authorization system based on public storage platforms and software authorization method

    CN106529216A

  • Tool for management of a pool of authorizations to use software

    US11700261B1