Method for counting software utilization rate and adjusting trial period
Technical Field
The invention relates to the technical field of information security, in particular to a method for counting the utilization rate of software and adjusting a trial period.
Background
For software research and development enterprises, the utilization rate of products of companies among clients plays a crucial role in the decision of research and development directions of the products, capital investment, the allocation of research and development personnel and the like, and the software research and development enterprises in the field of information security have the following defects in the utilization rate of statistical research and development:
1. the manual statistics of the use condition of the company software product is not intelligent enough, and the conditions of inaccurate data caused by missing statistics and the like exist when the workload is large;
2. software usage data statistics can only be carried out on a rough basis (such as the number of trial customers, the number of purchased customers and the like), and important data such as the product customer growth rate and the trial purchase rate of the product in no year every month cannot be obtained;
3. the daily use functions of the client cannot be accurately obtained, and the functions of the software are applied;
4. the trial client needs to acquire the authorization file again and perform the flow operation in order to prolong the trial period.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides a method for counting the utilization rate of software and adjusting the trial period, which can effectively solve the problems in the prior art.
A method for counting the utilization rate of software and adjusting the trial period is characterized by comprising the following steps:
s1: the software client logs in the integration of the authorization system, the detailed steps are as follows:
s11: creating a login identifier; designing a global static variable in the software main logic, wherein each function call of a program can detect the function;
s12: detecting account information; when the software is started or a certain function is used without logging in, detecting the global login identification in the S11, if the global login identification is in a login state, skipping the collection of account information, and if the global login identification is not in a login state, prompting a user that account information needs to be input to obtain authorized use; detecting the legality of the user name and the password, and recording the current login time and the current version of the software;
s13: comparing the server information; when the client information is uploaded through the login system, the data information of the current user information on the server is obtained, wherein the data information comprises whether the client purchases a mark, the number of trial days, the last login time and the last login host MAC; comparing the current hardware equipment information, if the user is purchased or not purchased but the client on the effective trial passes the verification directly, if the user is not purchased and the trial period is over, the client gives a prompt and closes the function of the software which needs to be purchased and used;
s2: the client uses the action to store in the local log, and designs the local log parameter, the log grade and the log core logic;
s3: the cloud server collects various data and local action logs used by the client software;
a database log table design comprising: UserID, IP, OnlineTime, StartTime, LoginTime, and Count;
the Mysql and the IIS website API are used jointly, the IIS is provided with the API for logging in the authorization system, the API can operate a log table in the Mysql database, and after a user sends login information, the user information is directly written into the database table after the user is authenticated and allowed to log in;
s4: designing and realizing a software utilization rate statistical platform;
the statistical platform function design is as follows:
customer registration information query: the method comprises the steps of saving a client, registering time, trial time, login times and final login time; selecting and inquiring logged customer information in years and months, and analyzing the customer service condition of the software in each time period in detail; deriving the use condition of the software according to the selected year and month, wherein the use condition mainly comprises a software use customer list and a customer total use rate;
querying a client operation action; the local log is uploaded to an FTP server folder of the cloud server after being allowed by a user; when a specific user is selected through the client registration list to check the user action, the system can automatically present all the use data of the user, including software use times, each use time, use conditions, common functions, specific operations, data retrieval and local software operation conditions; when the big data mode is selected for analysis, analyzing all clients which have uploaded the local log to obtain the average user utilization rate and the function use condition of the software;
inquiring the total utilization rate of the software; obtaining the total number of all trial accounts, the total number of purchase accounts and the total utilization rate data of the software of the selected data year;
s5: obtaining a product utilization rate export and analysis report; exporting a software user detailed usage report; exporting the product utilization rate;
s6: automatically adjusting a client function interface and a trial period according to a software utilization list of the cloud server; the method comprises the steps that a user software function use condition rate and a data processing condition list are intelligently calculated through cloud server big data, and are issued to a client when the client is connected with a cloud server; the software starts a multithreading mode to process the acquired list, compares the list with a local software function use condition table to obtain a function list with the software internal function use rate of 0% in the last month, automatically hides the function and adjusts the function flow of the software, and rearranges the function and the interface when the software is restarted next time;
and for the trial version client, adding an intelligent module for prolonging the trial time, acquiring the software login times and the average online time of the user from the cloud server, and comprehensively calculating the software utilization rate of the user in thirty days before the current day.
Preferably, the local log parameters are designed in S2 as follows:
【int MAX_SIZE=2048】;
【string_LogPath=Path.GetTempPath()+"\\Log"】;
【DateTime_LastDate=DateTime.Now】;
【object_SynchronizationLock=new object()】;
the local log level is designed as follows:
info: general log information;
log level. Debugging log information;
loglevel.warn: warning log information;
log level. error: error log information;
loglevel.fatal: crash log information;
designing a local log core logic, wherein a log writing mode adopts an asynchronous mode and a locking mechanism;
the parameters to be input are: message: message content input by a user, logLevel: log level, exception: abnormal information;
recording the operation action of the user; the software design uses a log viewing function, each operation till the software is closed is recorded when a user starts the software, and the operation flow and the state condition of the local software when the local software is abnormal during use can be kept while the use trace is kept.
Preferably, the software user detailed usage report is exported in S5, an Excel form mode is adopted, and the client name, trial time, whether authorized, last login time, login times and the latest software version used are obtained through the core logic of converting the software internal list into the Excel form; the table also counts the latest version number of the current software release and the upgrade utilization rate of the client.
Preferably, the table of the product usage rates in S5 includes information: month, total number of registered users, number of formal version users, number of available users, number of login users, and usage rate of available users in the month.
Preferably, in S6, when the user wants to use the hidden function, the function is called out from the hidden function list and is ready to use, and when the software is turned on next time, the interface is counted and displayed again, and the function is woken up.
Preferably, in S6, when the trial client is only ten days from the trial expiration date and the software usage rate is greater than 50%, the trial period of 10 days is automatically increased, the number of times is automatically extended up to 3 times, the first time is extended by 10 days, the second time is extended by 20 days, and the third time is extended by 30 days.
Compared with the prior art, the invention has the advantages that:
1. the account login system is adopted to write the data of software use times, use logs, login places, software use duration and the like of each user into the server database, namely, the detailed login logs are created for the users, and the basic data storage is also made for the software by making big data statistics.
2. And when the software is automatically updated, the version information and the update condition of the latest version are counted, and the update enthusiasm of a product release user is accurately evaluated.
3. And the software is iteratively developed every time, and the development function is adjusted according to the use condition of the software in month, quarter and year.
4. The habit of using software by customers is very favorable for analyzing and counting the demand of products, and has an important guiding function for personnel such as company product managers, research and development responsible persons and the like.
5. And performing big data analysis on daily and monthly data such as the client trial rate of software every year, the formal purchase rate of trial clients, the sales rate of agents and the like to obtain a sales report, and making data support for making a sales plan of company products for sales managers in various regions of the company.
6. Through the client software use condition list calculated by the cloud server, the client can intelligently prolong the trial period of the trial client, and the software trial time of the client is met to the maximum extent.
Detailed Description
For the purposes of the present invention: technical solutions and advantages of the present invention will be more clearly understood from the following detailed description of the present invention.
A method for counting the usage rate of software and adjusting the trial period comprises the following steps:
s1: integrating a software client login authorization system; the client login authorization system is a functional module, and data parameters are modified to adapt to various product software, so that the universal integration of the same functional module on different software platforms is achieved.
S11: creating a login identifier;
a global static variable (global variable is also called external variable, and is a variable defined outside a function, and does not belong to which function, and belongs to a source program file, and the scope of the global static variable is from the position where the variable is defined to the end of the source program file) is designed in the main logic of the software, so that each function call of the program can detect the function.
S12: detecting account information;
when the software is started or a certain function is used without logging in, detecting the global login identification in the S11, if the global login identification is in a login state, skipping the collection of account information, and if the global login identification is not in a login state, prompting a user that account information needs to be input to obtain authorized use; and detecting the legality of the user name, the password and the like, and recording the current login time, the current software version and the like.
S13: comparing the server information;
when the client information is uploaded through the login system, the data information of the current user information on the server can be obtained: the method comprises the steps of judging whether a client purchases a mark, the number of days on trial, the last login time and the last login host MAC; comparing the current hardware equipment information, if the user is a purchasing user or a non-purchasing user but the user on the effective trial passes the verification directly, if the user does not purchase and the trial period is over, the user gives a prompt and closes the function of the software which needs to be purchased for use.
S2: the client uses the action to save in the local log;
s21: the local log parameters are designed as follows:
int MAX _ SIZE 2048: the maximum Byte count (Byte/base/n. [ C ]) of the log is a measurement unit used by computer information technology to measure the storage capacity, and also represents the data type and language characters in some computer programming languages, and 2048 bytes is 2MB, that is, the maximum capacity of each log is 2 MB.
(string _ LogPath ═ path. gettemppath () + "\ \ Log" ]: and the Log keeping position is designed to be kept in a Log folder of the software operation root directory, and the Log folder is created if the Log folder does not exist.
[ DateTime _ LastDate ═ DateTime. Write time per log.
Object _ synchronizing lock ═ new object () ]: the object is locked synchronously, the log writing operation is designed in a multithread mode, when a plurality of threads need to write the same log file, the identification enables the threads to know that the log can be written immediately or needs to wait for other threads to finish the execution and then write.
S22: the local log level is designed as follows:
info: general log information;
log level. Debugging log information;
loglevel.warn: warning log information;
log level. error: error log information;
loglevel.fatal: crash log information.
S23: the local log core logic is designed as follows:
the log writing mode adopts an asynchronous mode and a locking mechanism;
the parameters to be input are:
message: the content of the message input by the user;
logLevel: a log level;
excepting: and (4) abnormal information.
S24 recording the operation action of the user;
the software design uses a log viewing function, each operation till the software is closed is recorded when a user starts the software, and the operation flow and the state condition of the local software when the local software is abnormal during use can be kept while the use trace is kept.
S3: the cloud server collects various data and local action logs used by the client software;
s31: a database log table design comprising: UserID: user ID, IP: user login IP address, OnlineTime: online time (minutes), StartTime: start trial time, loginittime: login time, Count: the number of logins (number of uses) is accumulated.
S32: the Mysql and IIS website APIs are used jointly, the IIS is provided with the API for logging in the authorization system, the API can operate a log table in the Mysql database, and after a user sends login information, the user information is directly written into the database table after the user is authenticated and allowed to log in.
S4: the design and implementation steps of the software utilization rate statistical platform are as follows:
s41: the statistical platform function design is as follows:
customer registration information query: the method comprises the steps of saving a client, registering time, trial time, login times, final login time and the like;
selecting and inquiring logged customer information in years and months, and analyzing the customer service condition of the software in each time period in detail;
the usage of the software is exported according to the selected year and month, and mainly comprises a software usage customer list and a customer total usage rate.
S42: querying a client operation action;
the S21 local log of the software design is uploaded to the FTP Server folder of the cloud Server after the user' S permission, and the FTP Server (File Transfer Protocol Server) is a computer that provides File storage and access services on the internet and provides services according to the FTP Protocol.
When a specific user is selected from the client registration list to view the user action, the system can automatically present all the use data of the user, including software use times, use duration each time, use condition, common functions, specific operation, data retrieval, local software operation condition and the like.
When analysis in a big data mode is selected, all clients which have uploaded the local log are analyzed, and the average user utilization rate (times per client) and the function use condition (for example, 10 function modules in total, the times of opening and using each function module) of the software are obtained.
S43: inquiring the total utilization rate of the software;
and according to the selected data year, obtaining detailed data such as the total number of all trial accounts, the total number of purchase accounts, the total utilization rate of software and the like of the year.
S5: obtaining a product utilization rate export and analysis report;
s51: exporting a software user detailed usage report;
the report adopts an Excel table mode, and the client name, the trial time, the authorization, the last login time, the login times and the used latest software version are obtained through the core logic of converting the software internal list into the Excel table.
The table also counts the latest version number of the current software release and the upgrade utilization rate of the client (comparing the latest software version of the client with the latest version number of the release, if the latest version number of the client is compared, the client is considered to use the latest software).
S52: exporting the product utilization rate;
the table of usage rates contains information: month, total number of registered users, number of formal version users (users who have purchased products), number of available users (trial time is compared with current time, and a user who has not reached the trial number of days is determined to be an available user), number of login users (users who have logged in the month), and usage rate of available users in the month (number of login users/number of available users).
The module report data is shown as follows:
s6: automatically adjusting a client function interface and a trial period according to a software utilization list of the cloud server;
s61: and a server program deployed on the cloud server obtains a list of the software utilization rate and the function use condition of the user through a designed intelligent analysis algorithm, and the list is obtained when the user uses the software client to connect to the cloud server. The software client analyzes the list and compares the list with the use condition of each function in the program to obtain a list with the function use rate of 0% in the last month of the program, the unused function is automatically hidden according to the list program, the function flow of the software is adjusted, and the interface is typeset again when the software is restarted.
When the user wants to use the hidden function, the user calls the function out of the hidden function list to use the function, and the user can count again and display the interface when the user opens the software next time, so that the function can be awakened.
S62: and for the trial version client, adding an intelligent module for prolonging the trial time, acquiring the software login times and the average online time of the user from the cloud server, and comprehensively calculating the software utilization rate of the user in thirty days before the current day.
When the trial client is only ten days away from the trial deadline and the utilization rate of software is more than 50%, the trial period of 10 days is automatically increased, but the trial period is not infinitely overlapped, the number of times is automatically prolonged for 3 times at most, 10 days are prolonged for the first time, 20 days are prolonged for the second time, and 30 days are prolonged for the third time. Therefore, the frequently used trial client can obtain more trial time, and the client who tries less frequently only has the initially set trial time.
It will be appreciated by those of ordinary skill in the art that the examples described herein are intended to assist the reader in understanding the manner in which the invention is practiced, and it is to be understood that the scope of the invention is not limited to such specifically recited statements and examples. Those skilled in the art can make various other specific changes and combinations based on the teachings of the present invention without departing from the spirit of the invention, and these changes and combinations are within the scope of the invention.