WO2020233048A1 - Customized software generation method and system, and electronic device and storage medium - Google Patents

Customized software generation method and system, and electronic device and storage medium Download PDF

Info

Publication number
WO2020233048A1
WO2020233048A1 PCT/CN2019/120661 CN2019120661W WO2020233048A1 WO 2020233048 A1 WO2020233048 A1 WO 2020233048A1 CN 2019120661 W CN2019120661 W CN 2019120661W WO 2020233048 A1 WO2020233048 A1 WO 2020233048A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
configuration
file
user
application
Prior art date
Application number
PCT/CN2019/120661
Other languages
French (fr)
Chinese (zh)
Inventor
徐彬彬
Original Assignee
深圳壹账通智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳壹账通智能科技有限公司 filed Critical 深圳壹账通智能科技有限公司
Publication of WO2020233048A1 publication Critical patent/WO2020233048A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • This application relates to the field of computers, and in particular to methods, systems, electronic devices, and storage media for generating customized software.
  • This application provides customized software generation methods, systems, electronic devices, and storage media to solve the technical problem of high cost of customized software.
  • this application provides a method for generating customized software.
  • the method includes the following steps:
  • the customization requirements include target application types and target configuration requirements
  • the front-end page is used to display one or more application types and multiple Configuration requirement options, different application types correspond to different configuration requirement options, the target application type is one of the application types, and the target configuration requirement includes one or more of the configuration requirement options;
  • the target basic file includes a calling function for calling the target configuration file
  • the target configuration file includes the startup of all configuration modules Identifies that the configuration module has a corresponding relationship with the configuration requirement option
  • Target configuration module modify the startup identifier of each configuration module in the target configuration file, so that the target basic file can call the target configuration file through the calling function and start the corresponding target configuration requirement.
  • Target configuration module to obtain the installation package of the target application;
  • a customized software generation system includes a first obtaining unit, a second obtaining unit, a modification unit, and a sending unit, wherein:
  • the first obtaining unit is configured to obtain the user's customization requirements for the target application from a front-end page, where the customization requirements include target application types and target configuration requirements;
  • the second obtaining unit is configured to obtain a target basic file and a target configuration file of the target application according to the target application type, wherein the target basic file includes a calling function for calling the target configuration file, and the target
  • the configuration file includes the startup identifiers of all configuration modules, and the configuration module corresponds to the configuration requirement option;
  • the modification unit is used to modify the startup identifier of each configuration module in the target configuration file according to the target configuration requirements, so that the target basic file can call the target configuration file through the calling function and start the connection
  • the target configuration module corresponding to the target configuration requirement is described, so as to obtain the installation package of the target application;
  • the sending unit is configured to send the installation package of the target application to the user.
  • an electronic device including a processor, an input device, an output device, and a memory, the processor, input device, output device, and memory are connected to each other, wherein the memory is used to store a computer program,
  • the computer program includes program instructions, and the processor is configured to invoke the program instructions to execute the method described in the first aspect above
  • a computer non-volatile readable storage medium stores a computer program.
  • the computer program includes program instructions that, when executed by a processor, cause the processing
  • the device executes the method of the first aspect described above.
  • the target configuration requirement is to modify the start identifier of each configuration module in the target configuration file, so that the target basic file can call the target configuration file through the calling function and start the target corresponding to the target configuration requirement Configure the module to obtain the installation package of the target application, and send the installation package of the target application to the user.
  • This allows users to wait for the installation package to be generated just by checking the required functions on the front-end page. For users, the entire process is fast and convenient. For developers, they only need to maintain the system, which improves the efficiency of customized software and solves the technical problem of high cost of customized software.
  • Fig. 1 is a schematic flowchart of a method for generating customized software provided by the present application
  • Figure 2 is a schematic diagram of a front-end page provided by this application.
  • Figure 3 is a schematic diagram of the workflow of a recording file provided by this application.
  • Figure 4 is a schematic structural diagram of a customized software generation system provided by this application.
  • Fig. 5 is a schematic block diagram of the structure of an electronic device provided by the present application.
  • Figure 1 is a schematic flow chart of a method for generating customized software provided by this application. As can be seen from Figure 1, the method for generating customized software provided by this application includes the following steps:
  • the customization requirements include target application types and target configuration requirements
  • the front-end page is used to display one or more application types and multiple configuration requirement options to the user, and different application types correspond to different
  • the target application type is one of the application types
  • the target configuration requirement includes one or more of the configuration requirement options.
  • the front-end page can be a web page or an app page.
  • the front-end page can first show the user a customizable target application type. After the user selects an application type, it can show the user multiple types of target applications that can be owned by the user.
  • Configuration requirement options that is, the additional functions that the target application can add.
  • the front-end page displays the configuration requirement options corresponding to category 1 of the application as A, B, C, D, E, and F.
  • the user can configure the requirements according to the required functions. Selection, for example, the user selects the target application category as Category 1, and the configuration requirement is ABC. Specifically, the configuration requirements A, B, C, D, E, and F respectively represent the functions of different services in the case of different business classifications.
  • the type 1 application selected by the user 1 refers to the financial lending program.
  • the configuration requirement option A can represent the loan application interception function
  • the configuration requirement option B can represent the loan application timing retransmission function
  • the configuration requirement option C can represent the debit credit review function
  • the 2 types of applications selected by user 2 refer to e-commerce
  • configuration requirement option A can represent similar product recommendation function
  • configuration requirement option B can represent product image search function
  • configuration requirement option C can represent receipt confirmation function, etc.
  • Figure 2 is a kind provided by this application
  • the "Contact Us” button in Figure 2 communicates with developers. For example, developers are required to add function G that is not displayed on the front-end page. At the same time, when multiple user needs add configuration requirements option G, developers can add configuration requirements options G is added to the front-end page. It should be understood that the above examples are only for illustration and cannot constitute a specific limitation.
  • S102 Acquire a target basic file and a target configuration file of the target application according to the target application category.
  • the target basic file includes a calling function for calling the target configuration file
  • the target configuration file includes the startup identifiers of all configuration modules
  • the configuration module corresponds to the configuration requirement option .
  • each application category corresponds to a basic file.
  • the target configuration files obtained in step S102 are all the same, including A, B, C, D, E , F Six configuration files for the startup identification of the configuration module.
  • the basic file can be used to obtain the main program of the target application
  • the configuration file can be used to obtain one or more secondary programs of the target application.
  • the main program is used to implement the basic functions of the target application.
  • These functions are basic functions summarized according to the common needs of other users; the secondary program realizes other configuration requirements functions of the target application, and these configuration requirements functions are based on The function of classifying and summarizing the different needs of other users.
  • the target application type is a loan assistance application
  • the basic function is: sending a borrowing request from the borrower to the capital, and after the capital has passed the credit review of the borrower, it will feed back to the borrower when the loan is successful.
  • the configuration requirement function can be whether to send a successful loan email to the debit account, or, because some capitals can only conduct credit checks during working hours, the configuration requirement function can also be whether to intercept the loan request at a fixed time, and whether it is at a fixed time Reissue loan request, etc. Therefore, after analyzing the functional requirements of multiple users, the user functional requirements of similar products can be classified, one is the basic functional requirements, the corresponding main program is produced, and the basic file is generated, and the other is the user's different requirements. Each functional requirement is made into a configuration module and written into the configuration file. It should be understood that the pre-designated configuration modules are completed and stored, which reduces the development difficulty of software customization and shortens the implementation cycle of software customization.
  • the target basic file includes a calling function for calling the target configuration file. It is understandable that the purpose of this is to be able to add or delete the configuration requirement function according to the change of the user requirement, so the configuration module is developed as a dynamically loadable option.
  • the specific implementation may be to set the configuration file as a global object, so that all objects or functions of this program can refer to the configuration file, and secondly add a loop traversal to read the configuration file logic in the main program.
  • the user selects the target application category as Category 1 and the function as ABC, then the finally generated configuration file of the target application installation package file includes the calling interface addresses of all configuration modules of ABCDEF, However, when the main function loops through the configuration file, only the three configuration modules ABC are loaded. Similarly, if the function selected by the user is ABCDE, when the main function loops through the configuration file, the five configuration modules ABCDE are loaded. It is understandable that developing the configuration module as a dynamically loadable option can not only increase the speed of product delivery, but also greatly improve the efficiency of later product maintenance and product upgrades after the product is delivered.
  • the configuration file is an Extensible Markup Language (XML) file
  • the target configuration module is a dynamic link library DLL file
  • the configuration file includes multiple calls of the configuration module Interface address, where the calling interface address and the configuration module are in a one-to-one correspondence.
  • each configuration module can be packaged as a dynamic link library (Dynamic Link Library, DLL), and the startup mode of each configuration module can refer to the interface of calling the target configuration module DLL in the configuration file.
  • DLL Dynamic Link Library
  • the user selects a type 1 application on the front-end page and configures the requirements options A and B. Therefore, by modifying the startup identifiers of configuration module A and configuration module B in the configuration file of the type 1 application from 0 (not loaded) 1 (load), the startup flags of other configuration modules remain 0 unchanged, and the configuration file modification can be completed. It is understandable that for product maintenance after product delivery, this application saves user-differentiated configuration modules as DLL files, which can more easily repair and upgrade various configuration modules without affecting Other parts of the program.
  • the target configuration file further includes a target record file
  • the target record file is used to record the target call interface address and version information of the last call of the target application
  • the version information includes at least all Describe the creation time, modification time and file size of the target configuration file.
  • the target application program can directly read the last called target call interface address in the target record file when the version information of the record file is completely consistent with the version information of the target configuration file. The next time it is started, the waste of resources caused by circular traversal reading is avoided.
  • the target application is used to compare the version information of the target record file with the version information of the target configuration file according to the target record file in the case of receiving the start application of the user.
  • the version information is matched. If the matching results are consistent, read the last called target calling interface in the target record file, and use the calling function to call the target configuration through the target calling interface File and start the target configuration module corresponding to the target configuration requirement, thereby completing the start of the target application. That is to say, in order to achieve the purpose of dynamically loading the module, the main function adds the logic of cyclic traversal to read the configuration file. When the program is in use, it will cyclically read the configuration file.
  • this application provides another XML file as the record file. Each time the program runs, it only needs to read the configuration record in the record file to load the corresponding module without looping.
  • the target application program is further configured to traverse the target configuration file to obtain the target calling interface address including the startup identifier when the matching result is inconsistent; Record the target calling interface address and the version information of the target configuration file in the target record file; call the interface address through the calling function to start the target configuration module corresponding to the target configuration requirement, thereby completing the target application Start of the program.
  • Figure 3 shows a schematic diagram of the workflow of a recording file. First, when the user starts the program for the first time, the configuration file is read once, the functional modules used in the configuration file are written into the recording file, and the reading Get the version information of the configuration file, such as creation time, modification time, version number, and file size, etc.
  • the system will read the configuration file and the record file at the same time. If the version information in the record file is The configuration file is different, indicating that the configuration file has been updated. At this time, the configuration file is traversed again, and the calling interface address corresponding to the updated configuration module is recorded in the record file. If the version information in the record file is completely consistent with the configuration file, the configuration The file has not been updated, so it is enough to read the last call interface address directly from the record file, thus avoiding the waste of resources caused by circular traversal reading, and achieving dynamic loading of the module, thereby improving delivery efficiency and maintenance efficiency purpose.
  • the method further includes: receiving a modification configuration request of the user; according to the modification configuration request, modifying the startup identifier of each configuration module in the target configuration file so that the target basic file
  • the target configuration module corresponding to the target configuration requirement can be loaded by calling the target, so as to obtain the modified target application installation package; and the modified target application installation package can be sent to the user. That is to say, each target application is generated and modified by modifying the startup identification of each configuration module in the configuration file, and selecting the configuration module to be loaded according to the configuration requirement option selected by the user on the front-end page.
  • the user selects the target application category as Category 1, and the function is changed from ABC to ABDE.
  • Configuration file modify the startup identification of configuration module D and E in the configuration file from 0 (not loaded) to 1 (load), modify the startup identification of configuration module C from 1 (load) to 0 (not load), other configurations
  • the module's startup logo remains unchanged, so that when the main program loops through the configuration files, only the DLLs of the four configuration modules of ABDE are loaded.
  • the target application is packaged to obtain the modified application installation package.
  • the target configuration file XML may be an encrypted configuration file
  • the encapsulated configuration module DLL file may also be an encrypted configuration file.
  • the modifying the startup identifier of each configuration module in the target configuration file according to the target configuration requirement includes: in the case that the target configuration file is successfully decrypted, modifying the target configuration file according to the target configuration requirement Startup ID of each configuration module in Specifically, the main function loop traverses the configuration file before adding the step of decrypting the configuration file, or you can add the decryption step before the main function traversal loop configuration file loads each target configuration module, that is, calling the DLL file needs to be decrypted. transfer. This is because the installation package may actually include the DLL module corresponding to the configuration requirement option that the user has not selected. Therefore, encrypting the DLL file and/or configuration file can ensure data security.
  • S104 Send the installation package of the target application to the user.
  • the installation package of the target application may be sent to the user through the mail system, and a download link may also be generated for the user to download by himself. I will not repeat them here. It is understandable that the installation package of the target application sent to the user can be a time-limited or restricted-use installation package for the user to try it out, and then send the complete installation package after confirming the payment. Wherein, the payment operation can also be performed through the customized software generation system provided by this application or a third-party transaction platform, which is not limited by this application.
  • the method further includes: obtaining user evaluation information of the target application, the evaluation information including the user Use the evaluation algorithm to output the scoring results according to the scoring information and the scoring information of other users; obtain the configuration recommendation model corresponding to the user according to the target application, and obtain the recommendation result according to the configuration recommendation model, where The configuration recommendation model is obtained according to one or more of the user’s address information, historical search records, historical customization records, historical click records and historical reading records; uploading the user’s comment content, recommendation results and scoring results to Front page.
  • the user after sending the target application installation package to the user, the user can evaluate and score the customized target application, and display the evaluation and scoring results on the front-end page for reference by other users.
  • Other types of application programs or configuration modules can also be recommended to the user.
  • a user who customizes the target program of category 1 also customizes the target program of category 2 and also selects functions corresponding to other configuration modules.
  • the main program of each type in the customized software generation system and the corresponding multiple configuration modules are regularly updated and upgraded, and new configuration modules are added to enrich the functions of the customized software generation system. .
  • the method further includes: in the case where the scoring information is higher than a threshold, sending a customized request to the user Other users with the same customization requirements send the installation package of the target application.
  • the user can be classified according to the registration information of the new user.
  • the classification rule can be a rule determined based on the history of other users' customized needs, so that after the new user is registered, the user can be registered with the user. Class roles are often customized application categories and configuration requirements options.
  • users of financial companies can be divided into financial users, and the products often customized by financial users can be lending, insurance, and credit review programs;
  • users of e-commerce platforms can be divided into e-commerce users, and Products often customized by e-commerce users can be related programs of e-commerce platforms;
  • school users can be classified as educational users, and products often customized by educational users can be educational management programs of schools.
  • the user’s customization requirements for the target application are obtained from the front-end page, the target basic file and the target configuration file of the target application are obtained according to the target application type, and the target configuration requirements are modified according to the target configuration requirements.
  • the start identifier of each configuration module in the target configuration file enables the target basic file to call the target configuration file through the calling function and start the target configuration module corresponding to the target configuration requirement, thereby obtaining the target application
  • the installation package sends the installation package of the target application to the user.
  • the user can wait for the installation package to be generated just by checking the required function on the front-end page. For users, the entire process is fast and convenient. For developers, they only need to maintain the system, which improves the efficiency of customized software and solves the technical problem of high cost of customized software.
  • FIG. 4 is a schematic structural diagram of a customized software generation system provided by this application. It can be seen from Figure 4 that the customized software generation system provided by this application includes a first acquisition unit 410, a second acquisition unit 420, a modification unit 430, and a sending Unit 440 and evaluation unit 450, wherein
  • the first obtaining unit 410 is configured to obtain the user's customization requirements for the target application from a front-end page, where the customization requirements include target application types and target configuration requirements, and the front-end page is used to display to the user One or more application types and multiple configuration requirement options, different application types correspond to different configuration requirement options, the target application type is one of the application types, and the target configuration requirement includes the configuration requirement option One or more of;
  • the second obtaining unit 420 is configured to obtain a target basic file and a target configuration file of the target application according to the target application type, wherein the target basic file includes a calling function for calling the target configuration file, and The target configuration file includes the startup identifiers of all configuration modules, and the configuration modules correspond to the configuration requirement options;
  • the modification unit 430 is configured to modify the startup identifier of each configuration module in the target configuration file according to the target configuration requirements, so that the target basic file can call the target configuration file through the calling function and start the The target configuration module corresponding to the target configuration requirement, so as to obtain the installation package of the target application;
  • the sending unit 440 is configured to send the installation package of the target application to the user.
  • the customization requirements include target application types and target configuration requirements
  • the front-end page is used to display one or more application types and configuration requirements to the user.
  • Different application types correspond to different configuration requirements.
  • the front-end page can be a WEB page or an app page.
  • the front-end page can first show the user the target application type that can be customized. After the user selects the application type, it can show the user multiple configuration requirements options that the target application of that type can have. That is, the additional functions that the target application can add.
  • the front-end page displays the configuration requirement options corresponding to the application category 1 as A, B, C, D, E, and F.
  • the user can select the configuration requirements according to the required functions, such as users Select the target application type as Category 1, and the configuration requirement as ABC.
  • the configuration requirements options A, B, C, D, E, and F respectively represent the functions of different businesses in the case of different business classifications.
  • the application category 1 selected by user 1 refers to financial lending programs
  • the configuration requirement option A can represent the loan application interception function
  • the configuration requirement option B can represent the loan application timing retransmission function
  • the configuration requirement option C can represent the debit credit review function
  • the type 2 application selected by user 2 refers to the e-commerce platform Class program
  • the configuration requirement option A can represent the similar product recommendation function
  • the configuration requirement option B can represent the product image search function
  • the configuration requirement option C can represent the confirmation receipt reminder function
  • Figure 2 is a front-end provided by this application A schematic diagram of the page, where the application type selected by the user is an e-commerce platform, and the configuration requirement options displayed on the front-end page can be six types of ABCDEF as shown in Figure 2.
  • the front-end page can also set the options for online dialogue.
  • the "Contact Us" button in 2 communicates with developers, such as asking developers to add function G that is not displayed on the front-end page.
  • developers can set configuration requirement option G Add to the front page.
  • the target configuration file includes all configuration requirement options corresponding to the target application category
  • the target basic file includes a calling function for calling the target configuration file.
  • each application category corresponds to a basic file.
  • the target configuration files obtained in step S102 are all the same, including A, B, C, D, E , F Six configuration files for the startup identification of the configuration module.
  • the basic file can be used to obtain the main program of the target application
  • the configuration file can be used to obtain one or more secondary programs of the target application.
  • the main program is used to implement the basic functions of the target application.
  • These functions are basic functions summarized according to the common needs of other users; the secondary program realizes other configuration requirements functions of the target application, and these configuration requirements functions are based on The function of classifying and summarizing the different needs of other users.
  • the target application type is a loan assistance application
  • the basic function is: sending a borrowing request from the borrower to the capital, and after the capital has passed the credit review of the borrower, it will feed back to the borrower when the loan is successful.
  • the configuration requirement function can be whether to send a successful loan email to the debit account, or, because some capitals can only conduct credit checks during working hours, the configuration requirement function can also be whether to intercept the loan request at a fixed time, and whether it is at a fixed time Reissue loan request, etc. Therefore, after analyzing the functional requirements of multiple users, the user functional requirements of similar products can be classified, one is the basic functional requirements, the corresponding main program is produced, and the basic file is generated, and the other is the user's different requirements. Each functional requirement is made into a configuration module and written into the configuration file. It should be understood that the pre-designated configuration modules are completed and stored, which reduces the development difficulty of software customization and shortens the implementation cycle of software customization.
  • the target basic file includes a calling function for calling the target configuration file. It is understandable that the purpose of this is to be able to add or delete configuration requirements functions according to changes in user requirements, so the configuration module is developed as a dynamically loadable option. When customizing software development, different configuration modules are loaded according to different user needs, and configuration modules that are not related to user needs need not be loaded, thereby saving system resources.
  • the specific implementation may be to set the configuration file as a global object, so that all objects or functions of this program can refer to the configuration file, and secondly add a loop traversal to read the configuration file logic in the main program.
  • the configuration file of the installation package file of the target application generated finally includes the calling interface addresses of all configuration modules of ABCDEF, but the main When the function loops through the configuration file, only the three configuration modules ABC are loaded. Similarly, if the function selected by the user is ABCDE, then the main function loops through the configuration file and loads the five configuration modules ABCDE. It is understandable that developing the configuration module as a dynamically loadable option can not only increase the speed of product delivery, but also greatly improve the efficiency of later product maintenance and product upgrades after the product is delivered.
  • the configuration file is an Extensible Markup Language (XML) file
  • the target configuration module is a dynamic link library DLL file
  • the configuration file includes multiple calls of the configuration module Interface address, where the calling interface address and the configuration module are in a one-to-one correspondence.
  • each configuration module can be packaged as a dynamic link library (Dynamic Link Library, DLL), and the startup mode of each configuration module can refer to the interface of calling the target configuration module DLL in the configuration file.
  • DLL Dynamic Link Library
  • the user selects a type 1 application on the front-end page and configures the requirements options A and B. Therefore, by modifying the startup identifiers of configuration module A and configuration module B in the configuration file of the type 1 application from 0 (not loaded) 1 (load), the startup flags of other configuration modules remain 0 unchanged, and the configuration file modification can be completed. It is understandable that for product maintenance after product delivery, this application saves user-differentiated configuration modules as DLL files, which can more easily repair and upgrade various configuration modules without affecting Other parts of the program.
  • the target configuration file further includes a target record file
  • the target record file is used to record the target call interface address and version information of the last call of the target application
  • the version information includes at least all Describe the creation time, modification time and file size of the target configuration file.
  • the target application program can directly read the last called target call interface address in the target record file when the version information of the record file is completely consistent with the version information of the target configuration file. The next time it is started, the waste of resources caused by circular traversal reading is avoided.
  • the target application is used to compare the version information of the target record file with the version information of the target configuration file according to the target record file in the case of receiving the start application of the user.
  • the version information is matched. If the matching results are consistent, read the last called target calling interface in the target record file, and use the calling function to call the target configuration through the target calling interface File and start the target configuration module corresponding to the target configuration requirement, thereby completing the start of the target application. That is to say, in order to achieve the purpose of dynamically loading the module, the main function adds the logic of cyclic traversal to read the configuration file. When the program is in use, it will cyclically read the configuration file.
  • this application provides another XML file as the record file. Each time the program runs, it only needs to read the configuration record in the record file to load the corresponding module without looping.
  • the target application program is further configured to traverse the target configuration file to obtain the target calling interface address including the startup identifier when the matching result is inconsistent; Record the target calling interface address and the version information of the target configuration file in the target record file; call the interface address through the calling function to start the target configuration module corresponding to the target configuration requirement, thereby completing the target application Start of the program.
  • Figure 3 shows a schematic diagram of the workflow of a recording file. First, when the user starts the program for the first time, the configuration file is read once, the functional modules used in the configuration file are written into the recording file, and the read configuration is written at the same time. File version information, such as creation time, modification time, and file size, etc.
  • the system will read the configuration file and the record file at the same time. If the creation time, modification time and file size in the record file are recorded Different from the configuration file, it means that the configuration file has been updated. At this time, traverse the configuration file again and put the calling interface address corresponding to the updated configuration module in the record file. If the version information in the record file is exactly the same as the configuration file, it means The configuration file is not updated, so it is enough to read the last call interface address directly from the record file, thus avoiding the waste of resources caused by cyclic traversal reading, and achieving dynamic loading of the module, thereby improving delivery efficiency and maintenance efficiency the goal of.
  • the modification unit 430 is further configured to receive a modification configuration request of the user; the modification unit 430 is further configured to modify each configuration module in the target configuration file according to the modification configuration requirement
  • the target basic file can call the configuration module corresponding to the modified configuration requirement by calling the function to obtain the modified target application installation package; the modification unit 430 is also used to provide the user Send the modified installation package of the target application. That is to say, each target application is generated and modified by modifying the startup identification of each configuration module in the configuration file, and selecting the configuration module to be loaded according to the configuration requirement option selected by the user on the front-end page. Specifically, still taking the above example as an example, the user selects the target application category as Category 1, and the function is changed from ABC to ABDE.
  • Configuration file modify the startup identification of configuration module D and E in the configuration file from 0 (not loaded) to 1 (load), modify the startup identification of configuration module C from 1 (load) to 0 (not load), other configurations
  • the module's startup logo remains unchanged, so that when the main program loops through the configuration files, only the DLLs of the four configuration modules of ABDE are loaded.
  • the target application is packaged to obtain the modified application installation package.
  • the target configuration file XML may be an encrypted configuration file
  • the encapsulated configuration module DLL file may also be an encrypted configuration file.
  • the modification unit is configured to modify the startup identifier of each configuration module in the target configuration file according to the target configuration requirement when the target configuration file is successfully decrypted. That is to say, the main function loop traverses the configuration file before adding the step of decrypting the configuration file, or you can add the decryption step before the main function traversal loop configuration file loads each target configuration module, that is, calling the DLL file needs to be decrypted. Can be called. This is because the installation package may actually include DLL modules corresponding to configuration requirements options that other users have not selected. Therefore, encrypting the DLL files and/or configuration files can ensure data security.
  • the installation package of the target application may be sent to the user through the mail system, and a download link may also be generated for the user to download by himself. I will not repeat them here. It is understandable that the target application installation package sent to the user may be a time-limited or restricted-use installation package for the user to try and confirm, and then send the complete installation package after payment. Wherein, the payment operation can also be performed through the customized software generation system provided by this application or a third-party transaction platform, which is not limited by this application.
  • the system further includes an evaluation unit 450 configured to obtain evaluation information of the target application by the user after sending the target application installation package to the user.
  • the information includes the user’s comment content and scoring information; the evaluation unit 450 is used to output the scoring results using an evaluation algorithm according to the scoring information and other users’ scoring information; the evaluation unit 450 is used to obtain user correspondence according to the user’s customization needs
  • the recommendation result is obtained according to the configuration recommendation model, wherein the configuration recommendation model is a model obtained by training a neural network using a sample set, and the sample set includes address information of other users, historical search records, One or more of historical customization records, historical click records, and historical reading records; the evaluation unit 450 is used for uploading user comment content, recommendation results, and scoring results to the front-end page.
  • the user after sending the target application installation package to the user, the user can evaluate and score the customized target application, and display the evaluation and scoring results on the front-end page for reference by other users.
  • Other types of application programs or configuration modules can also be recommended to the user.
  • a user who customizes the target program of category 1 also customizes the target program of category 2 and also selects functions corresponding to other configuration modules.
  • the main program of each type in the customized software generation system and the corresponding multiple configuration modules are regularly updated and upgraded, and new configuration modules are added to enrich the functions of the customized software generation system. .
  • the evaluation unit 450 is further configured to upload the user’s comment content, recommendation results, and scoring results to the front-end page, and when the scoring information is higher than a threshold, provide customized requirements and Other users with the same customization requirements of the user send the installation package of the target application.
  • the user can be classified according to the registration information of the new user.
  • the classification rule can be a rule determined based on the history of other users' customized needs, so that after the new user is registered, the user can be registered with the user. Class roles are often customized application categories and configuration requirements options.
  • users of financial companies can be divided into financial users, and the products often customized by financial users can be lending, insurance, and credit review programs;
  • users of e-commerce platforms can be divided into e-commerce users, and Products often customized by e-commerce users can be related programs of e-commerce platforms;
  • school users can be classified as educational users, and products often customized by educational users can be educational management programs of schools.
  • the user's customization requirements for the target application are obtained from the front-end page, the target basic file and the target configuration file of the target application are obtained according to the target application type, and the target configuration is modified according to the target configuration requirements
  • the startup identifier of each configuration module in the file so that the target basic file can call the target configuration file through the calling function and start the target configuration module corresponding to the target configuration requirement, thereby obtaining the installation package of the target application
  • the user can wait for the installation package to be generated just by checking the required functions on the front page. For users, the entire process is fast and convenient. For developers, they only need to maintain the system, which improves the efficiency of customized software and solves the technical problem of high cost of customized software.
  • FIG. 5 is a schematic structural diagram of an electronic device provided by the present application.
  • the electronic device in this embodiment as shown in the figure may include: one or more processors 511, a memory 512, and a communication interface 513.
  • the processor 511, the memory 512, and the communication interface 513 may be connected through a bus 514.
  • the processor 511 includes one or more general-purpose processors, where the general-purpose processor may be any type of device capable of processing electronic instructions, including a central processing unit (CPU), a graphics processing unit (GPU) ), microprocessor, microcontroller, main processor, controller and application specific integrated circuit (ASIC), digital signal processor (Digital Signal Processor, DSP), programmable gate array (Field-Programmable Gate) Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • the processor 511 is configured to execute program instructions stored in the memory 512.
  • the memory 512 may include volatile memory, such as random access memory (Random Access Memory, RAM); the memory may also include non-volatile memory, such as read-only memory (Read-Only Memory, ROM), and flash memory (Flash memory). Memory), Hard Disk Drive (HDD), or Solid-State Drive (SSD). The memory may also include a combination of the above types of memories.
  • RAM random access memory
  • ROM read-only memory
  • flash memory flash memory
  • Memory Hard Disk Drive
  • SSD Solid-State Drive
  • the memory may also include a combination of the above types of memories.
  • the memory 512 may adopt centralized storage or distributed storage, which is not specifically limited here. It is understandable that the memory 512 is used to store computer programs, such as computer program instructions. In the embodiment of the present application, the memory 512 may provide instructions and data to the processor 511.
  • the communication interface 513 may be a wired interface (such as an Ethernet interface) or a wireless interface (such as a cellular network interface or using a wireless local area network interface) for communicating with other computer devices or users.
  • the communication interface 513 can adopt the protocol family above the network communication protocol (Transmission Control Protocol/Internet Protocol, TCP/IP), for example, the remote function call (Remote Function Call, RFC) protocol, simple Object Access Protocol (Simple Object Access Protocol, SOAP) protocol, Simple Network Management Protocol (Simple Network Management Protocol, SNMP), Common Object Request Broker Architecture (CORBA), distributed protocol, etc.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • RFC Remote Function Call
  • Simple Object Access Protocol Simple Object Access Protocol
  • SOAP Simple Network Management Protocol
  • SNMP Simple Network Management Protocol
  • CORBA Common Object Request Broker Architecture
  • the communication interface 513 is a wireless interface
  • cellular communication can be used in accordance with the Global System for Mobile Communication (GSM) or Code Division Multiple Access (CDMA) standards, so it includes wireless for data transmission.
  • GSM Global System for Mobile Communication
  • CDMA Code Division Multiple Access
  • Modem electronic processing equipment, one or more digital memory devices, and dual antennas.
  • the processor 511, the memory 512, the communication interface 513, and the bus 514 can execute the implementation described in any embodiment of the customized software generation method provided in the embodiment of the present application, and will not be repeated here. .
  • a computer non-volatile readable storage medium stores a computer program
  • the computer program includes program instructions
  • the program instructions are executed by a processor
  • the computer non-volatile readable storage medium may be the internal storage unit of the terminal described in any of the foregoing embodiments, such as the hard disk or memory of the terminal.
  • the computer-readable storage medium may also be an external storage device of the terminal, such as a plug-in hard disk equipped on the terminal, a Smart Media Card (SMC), or a Secure Digital (SD) card , Flash Card, etc.
  • the computer-readable storage medium may also include both an internal storage unit of the terminal and an external storage device.
  • the computer-readable storage medium is used to store the computer program and other programs and data required by the terminal.
  • the computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
  • the disclosed method and device can be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present application.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this application is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium It includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk and other media that can store program codes.

Abstract

Provided are a customized software generation method and system, and an electronic device and a storage medium. The method comprises: acquiring, from a front-end page, a customization requirement of a user for a target application program (S101); acquiring a target basic file and a target configuration file of the target application program according to the type of the target application program (S102); modifying, according to a target configuration requirement, a start identifier of each configuration module in the target configuration file, such that the target basic file can call the target configuration file by means of a calling function and can start a target configuration module corresponding to the target configuration requirement, so as to obtain an installation package of the target application program (S103); and sending the installation package of the target application program to the user (S104).

Description

定制化软件生成方法、系统、电子设备及存储介质Customized software generation method, system, electronic equipment and storage medium
本申请要求于2019年05月21日提交中国专利局、申请号为201910422042.7、申请名称为“定制化软件生成方法、系统、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on May 21, 2019, the application number is 201910422042.7, and the application name is "customized software generation methods, systems, electronic equipment and storage media". The reference is incorporated in this application.
技术领域Technical field
本申请涉及计算机领域,尤其涉及定制化软件生成方法、系统、电子设备及存储介质。This application relates to the field of computers, and in particular to methods, systems, electronic devices, and storage media for generating customized software.
背景技术Background technique
目前,随着科技的进步和软件业的不断发展,软件越来越贴近人们的生活,成为人们工作生活中不可缺少的一部分。At present, with the advancement of technology and the continuous development of the software industry, software is getting closer to people's lives and becoming an indispensable part of people's work and life.
程序代码的开发集中在软件公司的程序员身上,随着产品客户的增加,由于不同的用户对软件的要求和理解存在差异,导致软件开发中的需求越来越多,变动越来越大,软件公司不得不增加程序员来满足庞大客户群的个性化定制需求。而程序员的成本在整个软件项目实施环节中较高,使得软件的个性化定制的成本大大提高。The development of the program code is concentrated on the programmers of the software company. With the increase of product customers, due to the differences in the requirements and understanding of the software of different users, there are more and more requirements in software development and more and more changes. Software companies have to add programmers to meet the personalized customization needs of a large customer base. The cost of programmers is relatively high in the entire software project implementation process, which greatly increases the cost of software customization.
发明内容Summary of the invention
本申请提供了定制化软件生成方法、系统、电子设备及存储介质,用于解决定制化软件成本高的技术问题。This application provides customized software generation methods, systems, electronic devices, and storage media to solve the technical problem of high cost of customized software.
第一方面,本申请提供了一种定制化软件生成方法,所述方法包括以下步骤:In the first aspect, this application provides a method for generating customized software. The method includes the following steps:
从前端页面获取所述用户对目标应用程序的定制需求,其中,所述定制需求包括目标应用种类以及目标配置需求,所述前端页面用于向所述用户展示一个或者多个应用种类以及多个配置需求选项,不同的应用种类对应不同的配置需求选项,所述目标应用种类是所述应用种类中的一种,所述目标配置需求包括所述配置需求选项中的一种或者多种;Obtain the user's customization requirements for the target application from a front-end page, where the customization requirements include target application types and target configuration requirements, and the front-end page is used to display one or more application types and multiple Configuration requirement options, different application types correspond to different configuration requirement options, the target application type is one of the application types, and the target configuration requirement includes one or more of the configuration requirement options;
根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件,其中,所述目标基础文件中包含调用所述目标配置文件的调用函数,所述目标配置文件包括全部配置模块的启动标识,所述配置模块与所述配置需求选项呈对应关系;Acquire the target basic file and target configuration file of the target application according to the target application type, wherein the target basic file includes a calling function for calling the target configuration file, and the target configuration file includes the startup of all configuration modules Identifies that the configuration module has a corresponding relationship with the configuration requirement option;
根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包;According to the target configuration requirement, modify the startup identifier of each configuration module in the target configuration file, so that the target basic file can call the target configuration file through the calling function and start the corresponding target configuration requirement. Target configuration module to obtain the installation package of the target application;
第二方面,提供了一种定制化软件生成系统,所述系统包括第一获取单元、第二获取单元、修改单元以及发送单元,其中,In a second aspect, a customized software generation system is provided. The system includes a first obtaining unit, a second obtaining unit, a modification unit, and a sending unit, wherein:
所述第一获取单元用于从前端页面获取所述用户对目标应用程序的定制需求,其中,所述定制需求包括目标应用种类以及目标配置需求;The first obtaining unit is configured to obtain the user's customization requirements for the target application from a front-end page, where the customization requirements include target application types and target configuration requirements;
所述第二获取单元用于根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件,其中,所述目标基础文件中包含调用所述目标配置文件的调用函数,所述目标配置文件包括全部配置模块的启动标识,所述配置模块与所述配置需求选项呈对应关系;The second obtaining unit is configured to obtain a target basic file and a target configuration file of the target application according to the target application type, wherein the target basic file includes a calling function for calling the target configuration file, and the target The configuration file includes the startup identifiers of all configuration modules, and the configuration module corresponds to the configuration requirement option;
所述修改单元用于根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包;The modification unit is used to modify the startup identifier of each configuration module in the target configuration file according to the target configuration requirements, so that the target basic file can call the target configuration file through the calling function and start the connection The target configuration module corresponding to the target configuration requirement is described, so as to obtain the installation package of the target application;
所述发送单元用于向所述用户发送所述目标应用程序的安装包。The sending unit is configured to send the installation package of the target application to the user.
第三方面,提供了一种电子设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一 方面所述的方法In a third aspect, an electronic device is provided, including a processor, an input device, an output device, and a memory, the processor, input device, output device, and memory are connected to each other, wherein the memory is used to store a computer program, The computer program includes program instructions, and the processor is configured to invoke the program instructions to execute the method described in the first aspect above
第四方面,提供了一种计算机非易失性可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。In a fourth aspect, a computer non-volatile readable storage medium is provided. The computer storage medium stores a computer program. The computer program includes program instructions that, when executed by a processor, cause the processing The device executes the method of the first aspect described above.
基于本申请提供的定制化软件生成方法及系统,通过从前端页面获取所述用户对目标应用程序的定制需,根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件,根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包,向所述用户发送所述目标应用程序的安装包。使得用户仅仅通过在前端页面勾选需要的功能,就可以等待安装包生成。对于用户来说,整个流程快速且方便,对于开发人员来说,仅仅需要对系统进行维护,提高了定制软件的效率,从而解决定制化软件成本高的技术问题。Based on the customized software generation method and system provided by this application, by obtaining the user's customization needs for the target application from the front-end page, obtaining the target basic file and target configuration file of the target application according to the target application type, according to The target configuration requirement is to modify the start identifier of each configuration module in the target configuration file, so that the target basic file can call the target configuration file through the calling function and start the target corresponding to the target configuration requirement Configure the module to obtain the installation package of the target application, and send the installation package of the target application to the user. This allows users to wait for the installation package to be generated just by checking the required functions on the front-end page. For users, the entire process is fast and convenient. For developers, they only need to maintain the system, which improves the efficiency of customized software and solves the technical problem of high cost of customized software.
附图说明Description of the drawings
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present application more clearly, the following will briefly introduce the accompanying drawings used in the description of the embodiments. Obviously, the drawings in the following description are some embodiments of the present application. For those of ordinary skill in the art, without creative work, other drawings can be obtained from these drawings.
图1是本申请提供的一种定制化软件生成方法的流程示意图;Fig. 1 is a schematic flowchart of a method for generating customized software provided by the present application;
图2是本申请提供的一种前端页面示意图;Figure 2 is a schematic diagram of a front-end page provided by this application;
图3是本申请提供的一种记录文件的工作流程示意图;Figure 3 is a schematic diagram of the workflow of a recording file provided by this application;
图4是本申请提供的一种定制化软件生成系统的结构示意图;Figure 4 is a schematic structural diagram of a customized software generation system provided by this application;
图5是本申请提供的一种电子设备结构示意框图。Fig. 5 is a schematic block diagram of the structure of an electronic device provided by the present application.
具体实施方式Detailed ways
下面通过具体实施方式结合附图对本申请作进一步详细说明。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或描述,这是为了避免本申请的核心部分被过多的描述所淹没。对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。The application will be further described in detail below through specific implementations in conjunction with the drawings. In the following embodiments, many detailed descriptions are used to make the present application better understood. However, those skilled in the art can easily realize that some of the features can be omitted under different circumstances, or can be replaced by other methods. In some cases, some operations related to this application are not shown or described in the specification. This is to avoid the core part of this application being overwhelmed by excessive description. For those skilled in the art, it is not necessary to describe these related operations in detail. They can fully understand the related operations based on the description in the specification and general technical knowledge in the field.
应当理解,当在本说明书和所附权利要求书中使用术语时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。It should be understood that when the terms are used in this specification and appended claims, the terms "including" and "including" indicate the existence of the described features, wholes, steps, operations, elements and components, but do not exclude one or more The existence or addition of other features, wholes, steps, operations, elements, components, and/or collections thereof.
需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。It should be noted that the terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms of "a", "said" and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.
图1是本申请提供的一种定制化软件生成方法的流程示意图,由图1可知,本申请提供的定制化软件生成方法包括以下步骤:Figure 1 is a schematic flow chart of a method for generating customized software provided by this application. As can be seen from Figure 1, the method for generating customized software provided by this application includes the following steps:
S101:从前端页面获取所述用户对目标应用程序的定制需求。S101: Obtain the user's customization requirements for the target application from the front-end page.
在本申请实施例中,所述定制需求包括目标应用种类以及目标配置需求,所述前端页面用于向所述用户展示一个或者多个应用种类以及多个配置需求选项,不同的应用种类对应不同的配置需求选项,所述目标应用种类是所述应用种类中的一种,所述目标配置需求包括所述配置需求选项中的一种或者多种。其中,前端页面可以是WEB页面或者app页面,前端页面可以首先向所述用户展示可以定制的目标应用种类,用户选择应用种类后,可以 向所述用户展示该种类的目标应用可以拥有的多个配置需求选项,也就是目标应用可以附加的功能,比如,前端页面显示应用种类1类对应的配置需求选项为A、B、C、D、E以及F,用户可以根据需要的功能进行配置需求的选择,比如所述用户选择目标应用种类为1类,配置需求为ABC。具体的,配置需求A、B、C、D、E、F在不同业务分类的情况下分别表示不同业务的功能,例如,所述用户1选择的1类应用种类指的是金融借贷类程序,那么配置需求选项A可以代表放款申请拦截功能,配置需求选项B可以是代表放款申请定时重发功能,配置需求选项C可以代表借方信用审核功能;用户2选择的2类应用种类指的是电商平台类程序,那么配置需求选项A可以代表同类商品推荐功能,配置需求选项B可以代表商品图片搜索功能,配置需求选项C可以代表确认收货提醒功能等等,图2是本申请提供的一种前端页面的示意图,其中,用户选择的应用种类是电商平台类,前端页面展示的配置需求选项可以是图2所示的ABCDEF六种,并且,前端页面还可以设置在线对话的选项,可以点击图2中的“联系我们”按钮,与开发人员进行沟通,比如要求开发人员添加前端页面未显示的功能G,同时,在多个用户需求添加配置需求选项G时,开发人员可以将配置需求选项G添加入前端页面。应理解,上述举例仅用于说明,并不能构成具体限定。In this embodiment of the application, the customization requirements include target application types and target configuration requirements, and the front-end page is used to display one or more application types and multiple configuration requirement options to the user, and different application types correspond to different The target application type is one of the application types, and the target configuration requirement includes one or more of the configuration requirement options. Wherein, the front-end page can be a web page or an app page. The front-end page can first show the user a customizable target application type. After the user selects an application type, it can show the user multiple types of target applications that can be owned by the user. Configuration requirement options, that is, the additional functions that the target application can add. For example, the front-end page displays the configuration requirement options corresponding to category 1 of the application as A, B, C, D, E, and F. The user can configure the requirements according to the required functions. Selection, for example, the user selects the target application category as Category 1, and the configuration requirement is ABC. Specifically, the configuration requirements A, B, C, D, E, and F respectively represent the functions of different services in the case of different business classifications. For example, the type 1 application selected by the user 1 refers to the financial lending program. Then the configuration requirement option A can represent the loan application interception function, the configuration requirement option B can represent the loan application timing retransmission function, and the configuration requirement option C can represent the debit credit review function; the 2 types of applications selected by user 2 refer to e-commerce For platform programs, then configuration requirement option A can represent similar product recommendation function, configuration requirement option B can represent product image search function, configuration requirement option C can represent receipt confirmation function, etc. Figure 2 is a kind provided by this application The schematic diagram of the front-end page, where the application type selected by the user is the e-commerce platform, and the configuration requirement options displayed on the front-end page can be six kinds of ABCDEF as shown in Figure 2, and the front-end page can also set the options of online dialogue, you can click The "Contact Us" button in Figure 2 communicates with developers. For example, developers are required to add function G that is not displayed on the front-end page. At the same time, when multiple user needs add configuration requirements option G, developers can add configuration requirements options G is added to the front-end page. It should be understood that the above examples are only for illustration and cannot constitute a specific limitation.
S102:根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件。S102: Acquire a target basic file and a target configuration file of the target application according to the target application category.
在本申请实施例中,所述目标基础文件中包含调用所述目标配置文件的调用函数,所述目标配置文件包括全部配置模块的启动标识,所述配置模块与所述配置需求选项呈对应关系。也就是说,每个应用种类对应一个基础文件。仍以图2为例,用户选择了电商平台类作为目标应用程序的目标应用种类后,可以获得电商平台类的基础文件以及配置文件。这里,不论用户选择了A、B、C、D、E、F六种配置需求选项中的哪一种,步骤S102获得的目标配置文件全部一样,都是包含A、B、C、D、E、F六种配置模块的启动标识的配置文件。其中,基础文件可以用来获取目标应用的主程序,配置文件可以用来获取目标应用的一个或者多个次程序。可以理解的是,主程序用于实现目标应用的基础功能,这些功能是根据其他多个用户的共同需求总结的基础功能;次程序实现了目标应用的其他配置需求功能,这些配置需求功能是根据其他多个用户的差异需求分类总结的功能。例如,目标应用种类为助贷应用,基础功能为:向资方发送来自借方的借款请求,资方对借方的信用审核通过后,将放款成功的同时反馈给借方。配置需求功能可以是,是否发送放款成功的邮件至借方账户,或者,由于某些资方只有工作时间才能进行信用审核,因此配置需求功能还可以是,是否在固定时间拦截借款请求,是否在固定时间重发借款请求等等。因此,对多个用户的功能需求进行分析后,可以将同类产品的用户功能需求进行分类,一类作为基础功能需求,制作成相应的主程序,生成基础文件,一类作为用户的差异需求,每个功能需求制作成一个配置模块,写入配置文件。应理解,将配置模块预先指定完成并存储,降低了软件定制的开发难度,缩短了软件定制的实施周期。In the embodiment of the present application, the target basic file includes a calling function for calling the target configuration file, the target configuration file includes the startup identifiers of all configuration modules, and the configuration module corresponds to the configuration requirement option . In other words, each application category corresponds to a basic file. Still taking Figure 2 as an example, after the user selects the e-commerce platform category as the target application category of the target application, the user can obtain the basic files and configuration files of the e-commerce platform category. Here, no matter which one of the six configuration requirement options A, B, C, D, E, and F is selected by the user, the target configuration files obtained in step S102 are all the same, including A, B, C, D, E , F Six configuration files for the startup identification of the configuration module. Among them, the basic file can be used to obtain the main program of the target application, and the configuration file can be used to obtain one or more secondary programs of the target application. It is understandable that the main program is used to implement the basic functions of the target application. These functions are basic functions summarized according to the common needs of other users; the secondary program realizes other configuration requirements functions of the target application, and these configuration requirements functions are based on The function of classifying and summarizing the different needs of other users. For example, the target application type is a loan assistance application, and the basic function is: sending a borrowing request from the borrower to the capital, and after the capital has passed the credit review of the borrower, it will feed back to the borrower when the loan is successful. The configuration requirement function can be whether to send a successful loan email to the debit account, or, because some capitals can only conduct credit checks during working hours, the configuration requirement function can also be whether to intercept the loan request at a fixed time, and whether it is at a fixed time Reissue loan request, etc. Therefore, after analyzing the functional requirements of multiple users, the user functional requirements of similar products can be classified, one is the basic functional requirements, the corresponding main program is produced, and the basic file is generated, and the other is the user's different requirements. Each functional requirement is made into a configuration module and written into the configuration file. It should be understood that the pre-designated configuration modules are completed and stored, which reduces the development difficulty of software customization and shortens the implementation cycle of software customization.
在本申请实施例中,所述目标基础文件中包含调用所述目标配置文件的调用函数。可以理解的是,这样做的目的是为了能够根据所述用户需求的变化对配置需求功能进行添加或删除,因此将配置模块开发为可动态加载的选项。在进行软件的定制化开发时,根据不同的用户需求加载不同的配置模块,与所述用户需求无关的配置模块不用加载,从而节省系统资源。具体的实现方式可以是,将配置文件设置为全局对象,使得本程序所有对象或函数可以引用配置文件,其次在主程序加入循环遍历读取配置文件的逻辑。仍以上述例子为例,所述用户选择目标应用种类为1类,功能为ABC,那么最后生成的目标应用程序的安装包文件的配置文件中,包括ABCDEF所有的配置模块的的调用接口地址,但是主函数循环遍历配置文件时,仅仅加载ABC三个配置模块,同理,如果所述用户选择的功能为ABCDE,那么主函数循环遍历配置文件时,加载ABCDE五个配置模块。可以理解的是, 将配置模块开发为可动态加载的选项,不仅可以提高产品交付的速度,在产品交付后,后期的产品维护、产品升级的效率也可以极大提高。In the embodiment of the present application, the target basic file includes a calling function for calling the target configuration file. It is understandable that the purpose of this is to be able to add or delete the configuration requirement function according to the change of the user requirement, so the configuration module is developed as a dynamically loadable option. When customizing software development, different configuration modules are loaded according to different user requirements, and configuration modules that are not related to the user requirements need not be loaded, thereby saving system resources. The specific implementation may be to set the configuration file as a global object, so that all objects or functions of this program can refer to the configuration file, and secondly add a loop traversal to read the configuration file logic in the main program. Still taking the above example as an example, the user selects the target application category as Category 1 and the function as ABC, then the finally generated configuration file of the target application installation package file includes the calling interface addresses of all configuration modules of ABCDEF, However, when the main function loops through the configuration file, only the three configuration modules ABC are loaded. Similarly, if the function selected by the user is ABCDE, when the main function loops through the configuration file, the five configuration modules ABCDE are loaded. It is understandable that developing the configuration module as a dynamically loadable option can not only increase the speed of product delivery, but also greatly improve the efficiency of later product maintenance and product upgrades after the product is delivered.
S103:根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包。S103: According to the target configuration requirement, modify the startup identifier of each configuration module in the target configuration file, so that the target basic file can call the target configuration file through the calling function and start to communicate with the target configuration requirement. The corresponding target configuration module, thereby obtaining the installation package of the target application.
在本申请实施例中,所述配置文件是可扩展标记语言(Extensible Markup Language,XML)文件,所述目标配置模块是动态链接库DLL文件,所述配置文件包括多个所述配置模块的调用接口地址,所述调用接口地址与所述配置模块呈一一对应关系。其中,将每种应用程序种类的全部配置需求设置成一个配置文件,在进行软件开发时,可以根据不同的用户需求,修改配置文件中不同配置模块的启动标识,从而与主程序结合生成软件安装包。这里,每个配置模块可以封装为一个动态链接库(Dynamic Link Library,DLL),每个配置模块的启动方式可以是指调用配置文件中目标配置模块DLL的接口。例如,用户在前端页面选择了1类应用程序且配置需求选项A与B,因此,通过将1类应用程序的配置文件中配置模块A与配置模块B的启动标识由0(不加载)修改为1(加载),其他配置模块的启动标识保持0不变,即可完成配置文件的修改。可以理解的是,对于产品交付后的产品维护来说,本申请将用户差异化的配置模块化保存为DLL文件,可以更为容易的对各种配置模块进行修复和升级,而不会影响到程序的其他部分。In the embodiment of the present application, the configuration file is an Extensible Markup Language (XML) file, the target configuration module is a dynamic link library DLL file, and the configuration file includes multiple calls of the configuration module Interface address, where the calling interface address and the configuration module are in a one-to-one correspondence. Among them, set all the configuration requirements of each application type into a configuration file. During software development, you can modify the startup identification of different configuration modules in the configuration file according to different user requirements, thereby combining with the main program to generate software installation package. Here, each configuration module can be packaged as a dynamic link library (Dynamic Link Library, DLL), and the startup mode of each configuration module can refer to the interface of calling the target configuration module DLL in the configuration file. For example, the user selects a type 1 application on the front-end page and configures the requirements options A and B. Therefore, by modifying the startup identifiers of configuration module A and configuration module B in the configuration file of the type 1 application from 0 (not loaded) 1 (load), the startup flags of other configuration modules remain 0 unchanged, and the configuration file modification can be completed. It is understandable that for product maintenance after product delivery, this application saves user-differentiated configuration modules as DLL files, which can more easily repair and upgrade various configuration modules without affecting Other parts of the program.
在本申请实施例中,所述目标配置文件还包括目标记录文件,所述目标记录文件用于记录所述目标应用程序上一次调用的目标调用接口地址以及版本信息,所述版本信息至少包括所述目标配置文件的创建时间、修改时间以及文件大小。使得所述目标应用程序在所述记录文件的版本信息与所述目标配置文件的版本信息完全一致的情况下,直接读取所述目标记录文件中的所述上一次调用的目标调用接口地址完成下一次启动,从而免去了循环遍历读取造成的资源浪费。In the embodiment of the present application, the target configuration file further includes a target record file, and the target record file is used to record the target call interface address and version information of the last call of the target application, and the version information includes at least all Describe the creation time, modification time and file size of the target configuration file. The target application program can directly read the last called target call interface address in the target record file when the version information of the record file is completely consistent with the version information of the target configuration file. The next time it is started, the waste of resources caused by circular traversal reading is avoided.
在本申请实施例中,所述目标应用程序用于在接收到所述用户的启动申请的情况下,根据所述目标记录文件,将所述目标记录文件的版本信息与所述目标配置文件的版本信息进行匹配,在所述匹配结果为一致的情况下,读取所述目标记录文件中的所述上一次调用的目标调用接口,通过所述目标调用接口,使用调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而完成所述目标应用程序的启动。也就是说,为了达到动态加载模块的目的,主函数加入了循环遍历读取配置文件的逻辑,程序在使用时,都会循环遍历读取配置文件。而且,当用户的需求更改后,同一个配置文件里,无法区分哪个是遍历过的,那个又是更改的配置,只能循环遍历读取,造成资源浪费。因此本申请提供了另外一个XML文件作为记录文件,每次程序运行时,只需要读取记录文件中的配置记录,即可加载相应的模块,而不需要循环遍历。In the embodiment of the present application, the target application is used to compare the version information of the target record file with the version information of the target configuration file according to the target record file in the case of receiving the start application of the user. The version information is matched. If the matching results are consistent, read the last called target calling interface in the target record file, and use the calling function to call the target configuration through the target calling interface File and start the target configuration module corresponding to the target configuration requirement, thereby completing the start of the target application. That is to say, in order to achieve the purpose of dynamically loading the module, the main function adds the logic of cyclic traversal to read the configuration file. When the program is in use, it will cyclically read the configuration file. Moreover, when the user's requirements are changed, in the same configuration file, it is impossible to distinguish which is the traversed and which is the changed configuration. It can only be read in a loop, causing a waste of resources. Therefore, this application provides another XML file as the record file. Each time the program runs, it only needs to read the configuration record in the record file to load the corresponding module without looping.
在本申请实施例中,所述目标应用程序还用于在所述匹配结果为不一致的情况下,所述目标应用程序遍历所述目标配置文件,获取包含所述启动标识的目标调用接口地址;记录所述目标调用接口地址以及目标配置文件的版本信息在目标记录文件中;通过所述调用函数调用所述接口地址,启动与所述目标配置需求对应的目标配置模块,从而完成所述目标应用程序的启动。例如,图3显示了一种记录文件的工作流程示意图,首先在所述用户第一次启动程序时读取一次配置文件,将配置文件中使用的功能模块写入记录文件中,同时写入读取配置文件的版本信息,比如创建时间、修改时间、版本号以及文件大小等等,接下来的每次程序启动时,系统同时会读取配置文件和记录文件,如果记录文件中的版本信息与配置文件不同,说明配置文件进行了更新,此时再遍历一次配置文件,将更新后的配置模块对应的调用接口地址在记录文件中,如果记录文件中的版本信息与配置文件完全一致,说明配置文件没有进行更新,因此直接从记录文件中读取上一次的调用接口地址即 可,从而免去了循环遍历读取造成的资源浪费,又达到了动态加载模块,从而提高交付效率以及维护效率的目的。In the embodiment of the present application, the target application program is further configured to traverse the target configuration file to obtain the target calling interface address including the startup identifier when the matching result is inconsistent; Record the target calling interface address and the version information of the target configuration file in the target record file; call the interface address through the calling function to start the target configuration module corresponding to the target configuration requirement, thereby completing the target application Start of the program. For example, Figure 3 shows a schematic diagram of the workflow of a recording file. First, when the user starts the program for the first time, the configuration file is read once, the functional modules used in the configuration file are written into the recording file, and the reading Get the version information of the configuration file, such as creation time, modification time, version number, and file size, etc. Each time the program starts, the system will read the configuration file and the record file at the same time. If the version information in the record file is The configuration file is different, indicating that the configuration file has been updated. At this time, the configuration file is traversed again, and the calling interface address corresponding to the updated configuration module is recorded in the record file. If the version information in the record file is completely consistent with the configuration file, the configuration The file has not been updated, so it is enough to read the last call interface address directly from the record file, thus avoiding the waste of resources caused by circular traversal reading, and achieving dynamic loading of the module, thereby improving delivery efficiency and maintenance efficiency purpose.
在本申请实施例中,所述方法还包括:接收所述用户的修改配置请求;根据所述修改配置请求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过调用目标加载与目标配置需求对应的目标配置模块,从而获得修改后的目标应用程序安装包;向所述用户发送所述修改后的目标应用程序安装包。也就是说,每个目标应用程序的生成与修改,都是通过修改配置文件中各个配置模块的启动标识,根据所述用户在前端页面选择的配置需求选项,选择需要加载的配置模块。具体地,仍以上述例子为例,所述用户选择目标应用种类为1类,功能由ABC修改为ABDE,因此,在对所述目标应用程序进行修改时,仅需要修改应用种类为1类的配置文件,将配置文件中配置模块D以及E的启动标识由0(不加载)修改为1(加载),将配置模块C的启动标识由1(加载)修改为0(不加载),其他配置模块的启动标识不改动,使得主程序循环遍历配置文件时,只会加载ABDE四个配置模块的DLL,配置文件修改好后,打包目标应用程序,即可获得修改后的应用程序安装包。应理解,上述举例仅用于说明,并不能构成具体限定。In the embodiment of the present application, the method further includes: receiving a modification configuration request of the user; according to the modification configuration request, modifying the startup identifier of each configuration module in the target configuration file so that the target basic file The target configuration module corresponding to the target configuration requirement can be loaded by calling the target, so as to obtain the modified target application installation package; and the modified target application installation package can be sent to the user. That is to say, each target application is generated and modified by modifying the startup identification of each configuration module in the configuration file, and selecting the configuration module to be loaded according to the configuration requirement option selected by the user on the front-end page. Specifically, still taking the above example as an example, the user selects the target application category as Category 1, and the function is changed from ABC to ABDE. Therefore, when modifying the target application, only the application category needs to be modified as Category 1. Configuration file, modify the startup identification of configuration module D and E in the configuration file from 0 (not loaded) to 1 (load), modify the startup identification of configuration module C from 1 (load) to 0 (not load), other configurations The module's startup logo remains unchanged, so that when the main program loops through the configuration files, only the DLLs of the four configuration modules of ABDE are loaded. After the configuration files are modified, the target application is packaged to obtain the modified application installation package. It should be understood that the above examples are only for illustration and cannot constitute a specific limitation.
在本申请实施例中,为了数据传输的安全性,目标配置文件XML可以为加密配置文件,封装的配置模块DLL文件也可以为加密配置文件。所述根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识包括:在所述目标配置文件解密成功的情况下,根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识。具体的,主函数循环遍历配置文件前添加解密配置文件的步骤,或者可以在主函数遍历循环配置文件加载每个目标配置模块之前,添加解密的步骤,也就是说,调用DLL文件需要解密才可以调用。这是因为安装包中实际可能包括了用户未选择的配置需求选项对应的DLL模块,因此对DLL文件和/或配置文件加密,可以保证数据的安全性。In the embodiment of the present application, for the security of data transmission, the target configuration file XML may be an encrypted configuration file, and the encapsulated configuration module DLL file may also be an encrypted configuration file. The modifying the startup identifier of each configuration module in the target configuration file according to the target configuration requirement includes: in the case that the target configuration file is successfully decrypted, modifying the target configuration file according to the target configuration requirement Startup ID of each configuration module in Specifically, the main function loop traverses the configuration file before adding the step of decrypting the configuration file, or you can add the decryption step before the main function traversal loop configuration file loads each target configuration module, that is, calling the DLL file needs to be decrypted. transfer. This is because the installation package may actually include the DLL module corresponding to the configuration requirement option that the user has not selected. Therefore, encrypting the DLL file and/or configuration file can ensure data security.
S104:向所述用户发送所述目标应用程序的安装包。S104: Send the installation package of the target application to the user.
在本申请实施例中,生成目标应用程序的安装包后,可以通过邮件系统向所述用户发送目标应用程序的安装包,还可以生成下载链接,供所述用户自行下载。此处不作赘述。可以理解的是,向用户发送的目标应用程序的安装包可以是限时使用或者限制使用的安装包,以供用户进行试用,确认付款后再发送完整的安装包。其中,付款操作也可以是通过本申请提供的定制化软件生成系统进行的或者第三方交易平台进行的,本申请不作限定。In the embodiment of the present application, after the installation package of the target application is generated, the installation package of the target application may be sent to the user through the mail system, and a download link may also be generated for the user to download by himself. I will not repeat them here. It is understandable that the installation package of the target application sent to the user can be a time-limited or restricted-use installation package for the user to try it out, and then send the complete installation package after confirming the payment. Wherein, the payment operation can also be performed through the customized software generation system provided by this application or a third-party transaction platform, which is not limited by this application.
在本申请实施例中,在本申请实施例中,向用户发送所述目标应用程序安装包之后,所述方法还包括:获取用户对所述目标应用程序的评价信息,所述评价信息包括用户的评论内容以及打分信息;根据所述打分信息和其他用户的打分信息使用评价算法输出打分结果;根据所述目标应用程序获取用户对应的配置推荐模型,根据所述配置推荐模型获得推荐结果,其中,所述配置推荐模型是根据用户的地址信息、历史搜索记录、历史定制记录、历史点击记录及历史阅读记录中的一种或多种获得的;上传用户的评论内容、推荐结果以及打分结果至前端页面。也就是说,向用户发送目标应用程序安装包之后,用户可以对本次定制的目标应用程序进行评价以及打分,并将评价和打分结果显示在前端页面中,以供其他用户进行参考。还可以向用户推荐其他类别的应用程序或者配置模块,比如,定制类别1的目标程序的用户还定制了类别2的目标程序,还选择了其他的配置模块对应的功能。并且,根据用户的评价反馈,对定制化软件生成系统中的每个种类的主程序,以及对应的多个配置模块进行定期更新和升级,添加新的配置模块,丰富定制化软件生成系统的功能。In the embodiment of the present application, in the embodiment of the present application, after sending the target application installation package to the user, the method further includes: obtaining user evaluation information of the target application, the evaluation information including the user Use the evaluation algorithm to output the scoring results according to the scoring information and the scoring information of other users; obtain the configuration recommendation model corresponding to the user according to the target application, and obtain the recommendation result according to the configuration recommendation model, where The configuration recommendation model is obtained according to one or more of the user’s address information, historical search records, historical customization records, historical click records and historical reading records; uploading the user’s comment content, recommendation results and scoring results to Front page. In other words, after sending the target application installation package to the user, the user can evaluate and score the customized target application, and display the evaluation and scoring results on the front-end page for reference by other users. Other types of application programs or configuration modules can also be recommended to the user. For example, a user who customizes the target program of category 1 also customizes the target program of category 2 and also selects functions corresponding to other configuration modules. In addition, according to user feedback, the main program of each type in the customized software generation system and the corresponding multiple configuration modules are regularly updated and upgraded, and new configuration modules are added to enrich the functions of the customized software generation system. .
在本申请实施例中,上传所述用户的评论内容、推荐结果以及打分结果至前端页面之后,所述方法还包括:在所述打分信息高于阈值的情况下,向定制需求与所述用户的定制需求相同的其他用户,发送所述目标应用程序的安装包。当有新用户注册后,根据新用户的注册信息,可以将用户进行角色分类,分类规则可以是根据其他用户的定制需求历史记 录而确定的规则,从而在新用户注册后,可以向用户注册该类角色经常定制的应用程序类别以及配置需求选项。例如,金融公司的用户可以分为金融类用户,而金融类用户经常定制的产品可以是借贷类、保险类、信用审核类程序;再例如,电商平台的用户可以分为电商用户,而电商用户经常定制的产品可以是电子商务平台的相关类程序;再例如,学校的用户可以分为教育类用户,而教育类用户经常定制的产品可以是学校的教务管理类程序,应理解,上述举例仅用于说明,并不能构成具体限定。In this embodiment of the present application, after uploading the user’s comment content, recommendation results, and scoring results to the front-end page, the method further includes: in the case where the scoring information is higher than a threshold, sending a customized request to the user Other users with the same customization requirements send the installation package of the target application. After a new user is registered, the user can be classified according to the registration information of the new user. The classification rule can be a rule determined based on the history of other users' customized needs, so that after the new user is registered, the user can be registered with the user. Class roles are often customized application categories and configuration requirements options. For example, users of financial companies can be divided into financial users, and the products often customized by financial users can be lending, insurance, and credit review programs; for another example, users of e-commerce platforms can be divided into e-commerce users, and Products often customized by e-commerce users can be related programs of e-commerce platforms; for another example, school users can be classified as educational users, and products often customized by educational users can be educational management programs of schools. It should be understood that, The above examples are only for illustration and do not constitute a specific limitation.
上述方法中,通过从前端页面获取所述用户对目标应用程序的定制需求,根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件,根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包,向所述用户发送所述目标应用程序的安装包。通过上述方法,使得用户仅仅通过在前端页面勾选需要的功能,就可以等待安装包生成。对于用户来说,整个流程快速且方便,对于开发人员来说,仅仅需要对系统进行维护,提高了定制软件的效率,从而解决定制化软件成本高的技术问题。In the above method, the user’s customization requirements for the target application are obtained from the front-end page, the target basic file and the target configuration file of the target application are obtained according to the target application type, and the target configuration requirements are modified according to the target configuration requirements. The start identifier of each configuration module in the target configuration file enables the target basic file to call the target configuration file through the calling function and start the target configuration module corresponding to the target configuration requirement, thereby obtaining the target application The installation package sends the installation package of the target application to the user. Through the above method, the user can wait for the installation package to be generated just by checking the required function on the front-end page. For users, the entire process is fast and convenient. For developers, they only need to maintain the system, which improves the efficiency of customized software and solves the technical problem of high cost of customized software.
图4是本申请提供的一种定制化软件生成系统的结构示意图,由图4可知,本申请提供的定制化软件生成系统包括第一获取单元410、第二获取单元420、修改单元430、发送单元440以及评价单元450,其中,Figure 4 is a schematic structural diagram of a customized software generation system provided by this application. It can be seen from Figure 4 that the customized software generation system provided by this application includes a first acquisition unit 410, a second acquisition unit 420, a modification unit 430, and a sending Unit 440 and evaluation unit 450, wherein
所述第一获取单元410用于从前端页面获取所述用户对目标应用程序的定制需求,其中,所述定制需求包括目标应用种类以及目标配置需求,所述前端页面用于向所述用户展示一个或者多个应用种类以及多个配置需求选项,不同的应用种类对应不同的配置需求选项,所述目标应用种类是所述应用种类中的一种,所述目标配置需求包括所述配置需求选项中的一种或者多种;The first obtaining unit 410 is configured to obtain the user's customization requirements for the target application from a front-end page, where the customization requirements include target application types and target configuration requirements, and the front-end page is used to display to the user One or more application types and multiple configuration requirement options, different application types correspond to different configuration requirement options, the target application type is one of the application types, and the target configuration requirement includes the configuration requirement option One or more of;
所述第二获取单元420用于根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件,其中,所述目标基础文件中包含调用所述目标配置文件的调用函数,所述目标配置文件包括全部配置模块的启动标识,所述配置模块与所述配置需求选项呈对应关系;The second obtaining unit 420 is configured to obtain a target basic file and a target configuration file of the target application according to the target application type, wherein the target basic file includes a calling function for calling the target configuration file, and The target configuration file includes the startup identifiers of all configuration modules, and the configuration modules correspond to the configuration requirement options;
所述修改单元430用于根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包;The modification unit 430 is configured to modify the startup identifier of each configuration module in the target configuration file according to the target configuration requirements, so that the target basic file can call the target configuration file through the calling function and start the The target configuration module corresponding to the target configuration requirement, so as to obtain the installation package of the target application;
所述发送单元440用于向所述用户发送所述目标应用程序的安装包。The sending unit 440 is configured to send the installation package of the target application to the user.
在本申请实施例中,所述定制需求包括目标应用种类以及目标配置需求,所述前端页面用于向所述用户展示一个或者多个应用种类以及配置需求,不同的应用种类对应不同的配置需求。其中,前端页面可以是WEB页面或者app页面,前端页面可以首先向用户展示可以定制的目标应用种类,用户选择应用种类后,可以向用户展示该种类的目标应用可以拥有的多个配置需求选项,也就是目标应用可以附加的功能,比,前端页面显示应用种类1类对应的配置需求选项为A、B、C、D、E以及F,用户可以根据需要的功能进行配置需求的选择,比如用户选择目标应用种类为1类,配置需求为ABC。具体的,配置需求选项A、B、C、D、E、F在不同业务分类的情况下分别表示不同业务的功能,例如,用户1选择的1类应用种类指的是金融借贷类程序,那么配置需求选项A可以代表放款申请拦截功能,配置需求选项B可以是代表放款申请定时重发功能,配置需求选项C可以代表借方信用审核功能;用户2选择的2类应用种类指的是电商平台类程序,那么配置需求选项A可以代表同类商品推荐功能,配置需求选项B可以代表商品图片搜索功能,配置需求选项C可以代表确认收货提醒功能等等,图2是本申请提供的一种前端页面的示意图,其中,用 户选择的应用种类是电商平台类,前端页面展示的配置需求选项可以是图2所示的ABCDEF六种,并且,前端页面还可以设置在线对话的选项,可以点击图2中的“联系我们”按钮,与开发人员进行沟通,比如要求开发人员添加前端页面未显示的功能G,同时,在多个用户需求添加配置需求选项G时,开发人员可以将配置需求选项G添加入前端页面。应理解,上述举例仅用于说明,并不能构成具体限定。In the embodiment of the present application, the customization requirements include target application types and target configuration requirements, and the front-end page is used to display one or more application types and configuration requirements to the user. Different application types correspond to different configuration requirements. . Among them, the front-end page can be a WEB page or an app page. The front-end page can first show the user the target application type that can be customized. After the user selects the application type, it can show the user multiple configuration requirements options that the target application of that type can have. That is, the additional functions that the target application can add. For example, the front-end page displays the configuration requirement options corresponding to the application category 1 as A, B, C, D, E, and F. The user can select the configuration requirements according to the required functions, such as users Select the target application type as Category 1, and the configuration requirement as ABC. Specifically, the configuration requirements options A, B, C, D, E, and F respectively represent the functions of different businesses in the case of different business classifications. For example, the application category 1 selected by user 1 refers to financial lending programs, then The configuration requirement option A can represent the loan application interception function, the configuration requirement option B can represent the loan application timing retransmission function, and the configuration requirement option C can represent the debit credit review function; the type 2 application selected by user 2 refers to the e-commerce platform Class program, then the configuration requirement option A can represent the similar product recommendation function, the configuration requirement option B can represent the product image search function, and the configuration requirement option C can represent the confirmation receipt reminder function, etc. Figure 2 is a front-end provided by this application A schematic diagram of the page, where the application type selected by the user is an e-commerce platform, and the configuration requirement options displayed on the front-end page can be six types of ABCDEF as shown in Figure 2. In addition, the front-end page can also set the options for online dialogue. The "Contact Us" button in 2 communicates with developers, such as asking developers to add function G that is not displayed on the front-end page. At the same time, when multiple user needs add configuration requirement option G, developers can set configuration requirement option G Add to the front page. It should be understood that the above examples are only for illustration and cannot constitute a specific limitation.
在本申请实施例中,所述目标配置文件中包括所述目标应用种类对应的全部配置需求选项,所述目标基础文件中包含调用所述目标配置文件的调用函数。也就是说,每个应用种类对应一个基础文件。仍以图2为例,用户选择了电商平台类作为目标应用程序的目标应用种类后,可以获得电商平台类的基础文件以及配置文件。这里,不论用户选择了A、B、C、D、E、F六种配置需求选项中的哪一种,步骤S102获得的目标配置文件全部一样,都是包含A、B、C、D、E、F六种配置模块的启动标识的配置文件。其中,基础文件可以用来获取目标应用的主程序,配置文件可以用来获取目标应用的一个或者多个次程序。可以理解的是,主程序用于实现目标应用的基础功能,这些功能是根据其他多个用户的共同需求总结的基础功能;次程序实现了目标应用的其他配置需求功能,这些配置需求功能是根据其他多个用户的差异需求分类总结的功能。例如,目标应用种类为助贷应用,基础功能为:向资方发送来自借方的借款请求,资方对借方的信用审核通过后,将放款成功的同时反馈给借方。配置需求功能可以是,是否发送放款成功的邮件至借方账户,或者,由于某些资方只有工作时间才能进行信用审核,因此配置需求功能还可以是,是否在固定时间拦截借款请求,是否在固定时间重发借款请求等等。因此,对多个用户的功能需求进行分析后,可以将同类产品的用户功能需求进行分类,一类作为基础功能需求,制作成相应的主程序,生成基础文件,一类作为用户的差异需求,每个功能需求制作成一个配置模块,写入配置文件。应理解,将配置模块预先指定完成并存储,降低了软件定制的开发难度,缩短了软件定制的实施周期。In the embodiment of the present application, the target configuration file includes all configuration requirement options corresponding to the target application category, and the target basic file includes a calling function for calling the target configuration file. In other words, each application category corresponds to a basic file. Still taking Figure 2 as an example, after the user selects the e-commerce platform category as the target application category of the target application, the user can obtain the basic files and configuration files of the e-commerce platform category. Here, no matter which one of the six configuration requirement options A, B, C, D, E, and F is selected by the user, the target configuration files obtained in step S102 are all the same, including A, B, C, D, E , F Six configuration files for the startup identification of the configuration module. Among them, the basic file can be used to obtain the main program of the target application, and the configuration file can be used to obtain one or more secondary programs of the target application. It is understandable that the main program is used to implement the basic functions of the target application. These functions are basic functions summarized according to the common needs of other users; the secondary program realizes other configuration requirements functions of the target application, and these configuration requirements functions are based on The function of classifying and summarizing the different needs of other users. For example, the target application type is a loan assistance application, and the basic function is: sending a borrowing request from the borrower to the capital, and after the capital has passed the credit review of the borrower, it will feed back to the borrower when the loan is successful. The configuration requirement function can be whether to send a successful loan email to the debit account, or, because some capitals can only conduct credit checks during working hours, the configuration requirement function can also be whether to intercept the loan request at a fixed time, and whether it is at a fixed time Reissue loan request, etc. Therefore, after analyzing the functional requirements of multiple users, the user functional requirements of similar products can be classified, one is the basic functional requirements, the corresponding main program is produced, and the basic file is generated, and the other is the user's different requirements. Each functional requirement is made into a configuration module and written into the configuration file. It should be understood that the pre-designated configuration modules are completed and stored, which reduces the development difficulty of software customization and shortens the implementation cycle of software customization.
在本申请实施例中,所述目标基础文件中包含调用所述目标配置文件的调用函数。可以理解的是,这样做的目的是为了能够根据用户需求的变化对配置需求功能进行添加或删除,因此将配置模块开发为可动态加载的选项。在进行软件的定制化开发时,根据不同的用户需求加载不同的配置模块,与用户需求无关的配置模块不用加载,从而节省系统资源。具体的实现方式可以是,将配置文件设置为全局对象,使得本程序所有对象或函数可以引用配置文件,其次在主程序加入循环遍历读取配置文件的逻辑。仍以上述例子为例,用户选择目标应用种类为1类,功能为ABC,那么最后生成的目标应用程序的安装包文件的配置文件中,包括ABCDEF所有的配置模块的的调用接口地址,但是主函数循环遍历配置文件时,仅仅加载ABC三个配置模块,同理,如果用户选择的功能为ABCDE,那么主函数循环遍历配置文件时,加载ABCDE五个配置模块。可以理解的是,将配置模块开发为可动态加载的选项,不仅可以提高产品交付的速度,在产品交付后,后期的产品维护、产品升级的效率也可以极大提高。In the embodiment of the present application, the target basic file includes a calling function for calling the target configuration file. It is understandable that the purpose of this is to be able to add or delete configuration requirements functions according to changes in user requirements, so the configuration module is developed as a dynamically loadable option. When customizing software development, different configuration modules are loaded according to different user needs, and configuration modules that are not related to user needs need not be loaded, thereby saving system resources. The specific implementation may be to set the configuration file as a global object, so that all objects or functions of this program can refer to the configuration file, and secondly add a loop traversal to read the configuration file logic in the main program. Still taking the above example as an example, the user selects the target application category as Category 1 and the function as ABC, then the configuration file of the installation package file of the target application generated finally includes the calling interface addresses of all configuration modules of ABCDEF, but the main When the function loops through the configuration file, only the three configuration modules ABC are loaded. Similarly, if the function selected by the user is ABCDE, then the main function loops through the configuration file and loads the five configuration modules ABCDE. It is understandable that developing the configuration module as a dynamically loadable option can not only increase the speed of product delivery, but also greatly improve the efficiency of later product maintenance and product upgrades after the product is delivered.
在本申请实施例中,所述配置文件是可扩展标记语言(Extensible Markup Language,XML)文件,所述目标配置模块是动态链接库DLL文件,所述配置文件包括多个所述配置模块的调用接口地址,所述调用接口地址与所述配置模块呈一一对应关系。其中,将每种应用程序种类的全部配置需求设置成一个配置文件,在进行软件开发时,可以根据不同的用户需求,修改配置文件中不同配置模块的启动标识,从而与主程序结合生成软件安装包。这里,每个配置模块可以封装为一个动态链接库(Dynamic Link Library,DLL),每个配置模块的启动方式可以是指调用配置文件中目标配置模块DLL的接口。例如,用户在前端页面选择了1类应用程序且配置需求选项A与B,因此,通过将1类应用程序的配置文件中配置模块A与配置模块B的启动标识由0(不加载)修改为1(加载),其他配置模块的启 动标识保持0不变,即可完成配置文件的修改。可以理解的是,对于产品交付后的产品维护来说,本申请将用户差异化的配置模块化保存为DLL文件,可以更为容易的对各种配置模块进行修复和升级,而不会影响到程序的其他部分。In the embodiment of the present application, the configuration file is an Extensible Markup Language (XML) file, the target configuration module is a dynamic link library DLL file, and the configuration file includes multiple calls of the configuration module Interface address, where the calling interface address and the configuration module are in a one-to-one correspondence. Among them, set all the configuration requirements of each application type into a configuration file. During software development, you can modify the startup identification of different configuration modules in the configuration file according to different user requirements, thereby combining with the main program to generate software installation package. Here, each configuration module can be packaged as a dynamic link library (Dynamic Link Library, DLL), and the startup mode of each configuration module can refer to the interface of calling the target configuration module DLL in the configuration file. For example, the user selects a type 1 application on the front-end page and configures the requirements options A and B. Therefore, by modifying the startup identifiers of configuration module A and configuration module B in the configuration file of the type 1 application from 0 (not loaded) 1 (load), the startup flags of other configuration modules remain 0 unchanged, and the configuration file modification can be completed. It is understandable that for product maintenance after product delivery, this application saves user-differentiated configuration modules as DLL files, which can more easily repair and upgrade various configuration modules without affecting Other parts of the program.
在本申请实施例中,所述目标配置文件还包括目标记录文件,所述目标记录文件用于记录所述目标应用程序上一次调用的目标调用接口地址以及版本信息,所述版本信息至少包括所述目标配置文件的创建时间、修改时间以及文件大小。使得所述目标应用程序在所述记录文件的版本信息与所述目标配置文件的版本信息完全一致的情况下,直接读取所述目标记录文件中的所述上一次调用的目标调用接口地址完成下一次启动,从而免去了循环遍历读取造成的资源浪费。In the embodiment of the present application, the target configuration file further includes a target record file, and the target record file is used to record the target call interface address and version information of the last call of the target application, and the version information includes at least all Describe the creation time, modification time and file size of the target configuration file. The target application program can directly read the last called target call interface address in the target record file when the version information of the record file is completely consistent with the version information of the target configuration file. The next time it is started, the waste of resources caused by circular traversal reading is avoided.
在本申请实施例中,所述目标应用程序用于在接收到所述用户的启动申请的情况下,根据所述目标记录文件,将所述目标记录文件的版本信息与所述目标配置文件的版本信息进行匹配,在所述匹配结果为一致的情况下,读取所述目标记录文件中的所述上一次调用的目标调用接口,通过所述目标调用接口,使用调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而完成所述目标应用程序的启动。也就是说,为了达到动态加载模块的目的,主函数加入了循环遍历读取配置文件的逻辑,程序在使用时,都会循环遍历读取配置文件。而且,当用户的需求更改后,同一个配置文件里,无法区分哪个是遍历过的,那个又是更改的配置,只能循环遍历读取,造成资源浪费。因此本申请提供了另外一个XML文件作为记录文件,每次程序运行时,只需要读取记录文件中的配置记录,即可加载相应的模块,而不需要循环遍历。In the embodiment of the present application, the target application is used to compare the version information of the target record file with the version information of the target configuration file according to the target record file in the case of receiving the start application of the user. The version information is matched. If the matching results are consistent, read the last called target calling interface in the target record file, and use the calling function to call the target configuration through the target calling interface File and start the target configuration module corresponding to the target configuration requirement, thereby completing the start of the target application. That is to say, in order to achieve the purpose of dynamically loading the module, the main function adds the logic of cyclic traversal to read the configuration file. When the program is in use, it will cyclically read the configuration file. Moreover, when the user's requirements are changed, in the same configuration file, it is impossible to distinguish which is the traversed and which is the changed configuration. It can only be read in a loop, causing a waste of resources. Therefore, this application provides another XML file as the record file. Each time the program runs, it only needs to read the configuration record in the record file to load the corresponding module without looping.
在本申请实施例中,所述目标应用程序还用于在所述匹配结果为不一致的情况下,所述目标应用程序遍历所述目标配置文件,获取包含所述启动标识的目标调用接口地址;记录所述目标调用接口地址以及目标配置文件的版本信息在目标记录文件中;通过所述调用函数调用所述接口地址,启动与所述目标配置需求对应的目标配置模块,从而完成所述目标应用程序的启动。例如,图3显示了一种记录文件的工作流程示意图,首先在用户第一次启动程序时读取一次配置文件,将配置文件中使用的功能模块写入记录文件中,同时写入读取配置文件的版本信息,比如创建时间、修改时间以及文件大小等等,接下来的每次程序启动时,系统同时会读取配置文件和记录文件,如果记录文件中的创建时间、修改时间以及文件大小与配置文件不同,说明配置文件进行了更新,此时再遍历一次配置文件,将更新后的配置模块对应的调用接口地址在记录文件中,如果记录文件中的版本信息与配置文件完全一致,说明配置文件没有进行更新,因此直接从记录文件中读取上一次的调用接口地址即可,从而免去了循环遍历读取造成的资源浪费,又达到了动态加载模块,从而提高交付效率以及维护效率的目的。In the embodiment of the present application, the target application program is further configured to traverse the target configuration file to obtain the target calling interface address including the startup identifier when the matching result is inconsistent; Record the target calling interface address and the version information of the target configuration file in the target record file; call the interface address through the calling function to start the target configuration module corresponding to the target configuration requirement, thereby completing the target application Start of the program. For example, Figure 3 shows a schematic diagram of the workflow of a recording file. First, when the user starts the program for the first time, the configuration file is read once, the functional modules used in the configuration file are written into the recording file, and the read configuration is written at the same time. File version information, such as creation time, modification time, and file size, etc. Each time the program is started, the system will read the configuration file and the record file at the same time. If the creation time, modification time and file size in the record file are recorded Different from the configuration file, it means that the configuration file has been updated. At this time, traverse the configuration file again and put the calling interface address corresponding to the updated configuration module in the record file. If the version information in the record file is exactly the same as the configuration file, it means The configuration file is not updated, so it is enough to read the last call interface address directly from the record file, thus avoiding the waste of resources caused by cyclic traversal reading, and achieving dynamic loading of the module, thereby improving delivery efficiency and maintenance efficiency the goal of.
在本申请实施例中,所述修改单元430还用于接收所述用户的修改配置请求;所述修改单元430还用于根据所述修改配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过调用函数调用与所述修改配置需求对应的配置模块,从而获得修改后的目标应用程序的安装包;所述修改单元430还用于向所述用户发送所述修改后的目标应用程序的安装包。也就是说,每个目标应用程序的生成与修改,都是通过修改配置文件中各个配置模块的启动标识,根据所述用户在前端页面选择的配置需求选项,选择需要加载的配置模块。具体地,仍以上述例子为例,所述用户选择目标应用种类为1类,功能由ABC修改为ABDE,因此,在对所述目标应用程序进行修改时,仅需要修改应用种类为1类的配置文件,将配置文件中配置模块D以及E的启动标识由0(不加载)修改为1(加载),将配置模块C的启动标识由1(加载)修改为0(不加载),其他配置模块的启动标识不改动,使得主程序循环遍历配置文件时,只会加载ABDE四个配置模块的DLL,配置文件修改好后,打包目标应用程序,即可获得修改后的应用程序安装包。应理 解,上述举例仅用于说明,并不能构成具体限定。In the embodiment of the present application, the modification unit 430 is further configured to receive a modification configuration request of the user; the modification unit 430 is further configured to modify each configuration module in the target configuration file according to the modification configuration requirement The target basic file can call the configuration module corresponding to the modified configuration requirement by calling the function to obtain the modified target application installation package; the modification unit 430 is also used to provide the user Send the modified installation package of the target application. That is to say, each target application is generated and modified by modifying the startup identification of each configuration module in the configuration file, and selecting the configuration module to be loaded according to the configuration requirement option selected by the user on the front-end page. Specifically, still taking the above example as an example, the user selects the target application category as Category 1, and the function is changed from ABC to ABDE. Therefore, when modifying the target application, only the application category needs to be modified as Category 1. Configuration file, modify the startup identification of configuration module D and E in the configuration file from 0 (not loaded) to 1 (load), modify the startup identification of configuration module C from 1 (load) to 0 (not load), other configurations The module's startup logo remains unchanged, so that when the main program loops through the configuration files, only the DLLs of the four configuration modules of ABDE are loaded. After the configuration files are modified, the target application is packaged to obtain the modified application installation package. It should be understood that the above examples are only for illustration and do not constitute specific limitations.
在本申请实施例中,为了数据传输的安全性,目标配置文件XML可以为加密配置文件,封装的配置模块DLL文件也可以为加密配置文件。所述修改单元用于在所述目标配置文件解密成功的情况下,根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识。也就是说,主函数循环遍历配置文件前添加解密配置文件的步骤,或者可以在主函数遍历循环配置文件加载每个目标配置模块之前,添加解密的步骤,也就是说,调用DLL文件需要解密才可以调用。这是因为安装包中实际可能包括了其他用户未选择的配置需求选项对应的DLL模块,因此对DLL文件和/或配置文件加密,可以保证数据的安全性。In the embodiment of the present application, for the security of data transmission, the target configuration file XML may be an encrypted configuration file, and the encapsulated configuration module DLL file may also be an encrypted configuration file. The modification unit is configured to modify the startup identifier of each configuration module in the target configuration file according to the target configuration requirement when the target configuration file is successfully decrypted. That is to say, the main function loop traverses the configuration file before adding the step of decrypting the configuration file, or you can add the decryption step before the main function traversal loop configuration file loads each target configuration module, that is, calling the DLL file needs to be decrypted. Can be called. This is because the installation package may actually include DLL modules corresponding to configuration requirements options that other users have not selected. Therefore, encrypting the DLL files and/or configuration files can ensure data security.
在本申请实施例中,生成目标应用程序的安装包后,可以通过邮件系统向所述用户发送目标应用程序的安装包,还可以生成下载链接,供所述用户自行下载。此处不作赘述。可以理解的是,在向用户发送目标应用程序安装包可以是限时使用或者限制使用的安装包,以供用户进行试用并确认,付款后再发送完整的安装包。其中,付款操作也可以是通过本申请提供的定制化软件生成系统进行的或者第三方交易平台进行的,本申请不作限定。In the embodiment of the present application, after the installation package of the target application is generated, the installation package of the target application may be sent to the user through the mail system, and a download link may also be generated for the user to download by himself. I will not repeat them here. It is understandable that the target application installation package sent to the user may be a time-limited or restricted-use installation package for the user to try and confirm, and then send the complete installation package after payment. Wherein, the payment operation can also be performed through the customized software generation system provided by this application or a third-party transaction platform, which is not limited by this application.
在本申请实施例中,所述系统还包括评价单元450,所述评价单元450用于向用户发送所述目标应用程序安装包之后,获取用户对所述目标应用程序的评价信息,所述评价信息包括用户的评论内容以及打分信息;所述评价单元450用于根据所述打分信息和其他用户的打分信息使用评价算法输出打分结果;所述评价单元450用于根据用户的定制需求获取用户对应的配置推荐模型,根据所述配置推荐模型获得推荐结果,其中,所述配置推荐模型是使用样本集对神经网络进行训练得到的模型,所述样本集包括其他用户的地址信息、历史搜索记录、历史定制记录、历史点击记录及历史阅读记录中的一种或多种;所述评价单元450用于上传用户的评论内容、推荐结果以及打分结果至前端页面。也就是说,向用户发送目标应用程序安装包之后,用户可以对本次定制的目标应用程序进行评价以及打分,并将评价和打分结果显示在前端页面中,以供其他用户进行参考。还可以向用户推荐其他类别的应用程序或者配置模块,比如,定制类别1的目标程序的用户还定制了类别2的目标程序,还选择了其他的配置模块对应的功能。并且,根据用户的评价反馈,对定制化软件生成系统中的每个种类的主程序,以及对应的多个配置模块进行定期更新和升级,添加新的配置模块,丰富定制化软件生成系统的功能。In the embodiment of the present application, the system further includes an evaluation unit 450 configured to obtain evaluation information of the target application by the user after sending the target application installation package to the user. The information includes the user’s comment content and scoring information; the evaluation unit 450 is used to output the scoring results using an evaluation algorithm according to the scoring information and other users’ scoring information; the evaluation unit 450 is used to obtain user correspondence according to the user’s customization needs According to the configuration recommendation model, the recommendation result is obtained according to the configuration recommendation model, wherein the configuration recommendation model is a model obtained by training a neural network using a sample set, and the sample set includes address information of other users, historical search records, One or more of historical customization records, historical click records, and historical reading records; the evaluation unit 450 is used for uploading user comment content, recommendation results, and scoring results to the front-end page. In other words, after sending the target application installation package to the user, the user can evaluate and score the customized target application, and display the evaluation and scoring results on the front-end page for reference by other users. Other types of application programs or configuration modules can also be recommended to the user. For example, a user who customizes the target program of category 1 also customizes the target program of category 2 and also selects functions corresponding to other configuration modules. In addition, according to user feedback, the main program of each type in the customized software generation system and the corresponding multiple configuration modules are regularly updated and upgraded, and new configuration modules are added to enrich the functions of the customized software generation system. .
在本申请实施例中,所述评价单元450还用于在上传所述用户的评论内容、推荐结果以及打分结果至前端页面之后,在所述打分信息高于阈值的情况下,向定制需求与所述用户的定制需求相同的其他用户,发送所述目标应用程序的安装包。当有新用户注册后,根据新用户的注册信息,可以将用户进行角色分类,分类规则可以是根据其他用户的定制需求历史记录而确定的规则,从而在新用户注册后,可以向用户注册该类角色经常定制的应用程序类别以及配置需求选项。例如,金融公司的用户可以分为金融类用户,而金融类用户经常定制的产品可以是借贷类、保险类、信用审核类程序;再例如,电商平台的用户可以分为电商用户,而电商用户经常定制的产品可以是电子商务平台的相关类程序;再例如,学校的用户可以分为教育类用户,而教育类用户经常定制的产品可以是学校的教务管理类程序,应理解,上述举例仅用于说明,并不能构成具体限定。In the embodiment of the present application, the evaluation unit 450 is further configured to upload the user’s comment content, recommendation results, and scoring results to the front-end page, and when the scoring information is higher than a threshold, provide customized requirements and Other users with the same customization requirements of the user send the installation package of the target application. After a new user is registered, the user can be classified according to the registration information of the new user. The classification rule can be a rule determined based on the history of other users' customized needs, so that after the new user is registered, the user can be registered with the user. Class roles are often customized application categories and configuration requirements options. For example, users of financial companies can be divided into financial users, and the products often customized by financial users can be lending, insurance, and credit review programs; for another example, users of e-commerce platforms can be divided into e-commerce users, and Products often customized by e-commerce users can be related programs of e-commerce platforms; for another example, school users can be classified as educational users, and products often customized by educational users can be educational management programs of schools. It should be understood that, The above examples are only for illustration and do not constitute a specific limitation.
上述系统中,通过从前端页面获取用户对目标应用程序的定制需求,根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件,根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包,向用户发送所述目标应用程序的安装包。通过上述系统,使得用户仅仅通过在前端页面勾选需要的功能,就可以等待安装包生成。对于用户来说,整个流 程快速且方便,对于开发人员来说,仅仅需要对系统进行维护,提高了定制软件的效率,从而解决定制化软件成本高的技术问题。In the above system, the user's customization requirements for the target application are obtained from the front-end page, the target basic file and the target configuration file of the target application are obtained according to the target application type, and the target configuration is modified according to the target configuration requirements The startup identifier of each configuration module in the file, so that the target basic file can call the target configuration file through the calling function and start the target configuration module corresponding to the target configuration requirement, thereby obtaining the installation package of the target application To send the installation package of the target application to the user. Through the above system, the user can wait for the installation package to be generated just by checking the required functions on the front page. For users, the entire process is fast and convenient. For developers, they only need to maintain the system, which improves the efficiency of customized software and solves the technical problem of high cost of customized software.
参见图5,图5是本申请提供的一种电子设备的结构示意图。如图所示的本实施例中的电子设备可以包括:一个或者多个处理器511、存储器512和通信接口513。其中,处理器511、存储器512和通信接口513之间可以通过总线514连接。Refer to FIG. 5, which is a schematic structural diagram of an electronic device provided by the present application. The electronic device in this embodiment as shown in the figure may include: one or more processors 511, a memory 512, and a communication interface 513. Among them, the processor 511, the memory 512, and the communication interface 513 may be connected through a bus 514.
处理器511包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、微处理器、微控制器、主处理器、控制器以及专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器511用于执行存储器512存储的程序指令。The processor 511 includes one or more general-purpose processors, where the general-purpose processor may be any type of device capable of processing electronic instructions, including a central processing unit (CPU), a graphics processing unit (GPU) ), microprocessor, microcontroller, main processor, controller and application specific integrated circuit (ASIC), digital signal processor (Digital Signal Processor, DSP), programmable gate array (Field-Programmable Gate) Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 511 is configured to execute program instructions stored in the memory 512.
存储器512可以包括易失性存储器,例如随机存取存储器(Random Access Mmemory,RAM);存储器也可以包括非易失性存储器,例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD),存储器还可以包括上述种类的存储器的组合。存储器512可以采用集中式存储,也可以采用分布式存储,此处不作具体限定。可以理解的是,存储器512用于存储计算机程序,例如:计算机程序指令等。在本申请实施例中,存储器512可以向处理器511提供指令和数据。The memory 512 may include volatile memory, such as random access memory (Random Access Memory, RAM); the memory may also include non-volatile memory, such as read-only memory (Read-Only Memory, ROM), and flash memory (Flash memory). Memory), Hard Disk Drive (HDD), or Solid-State Drive (SSD). The memory may also include a combination of the above types of memories. The memory 512 may adopt centralized storage or distributed storage, which is not specifically limited here. It is understandable that the memory 512 is used to store computer programs, such as computer program instructions. In the embodiment of the present application, the memory 512 may provide instructions and data to the processor 511.
通信接口513可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算机设备或用户进行通信。当通信接口513为有线接口时,通信接口513可以采用网络通讯协议(Transmission Control Protocol/Internet Protocol,TCP/IP)之上的协议族,例如,远程函数调用(Remote Function Call,RFC)协议、简单对象访问协议(Simple Object Access Protocol,SOAP)协议、简单网络管理协议(Simple Network Management Protocol,SNMP)、公共对象请求代理体系结构协议(Common Object Request Broker Architecture,CORBA)以及分布式协议等等。当通信接口513为无线接口时,可以根据全球移动通信系统(Global System for Mobile Communication,GSM)或者码分多址(Code Division Multiple Access,CDMA)标准利用蜂窝通信,因此包括用于数据传输的无线调制解调器、电子处理设备、一个或多个数字存储器设备以及双天线。The communication interface 513 may be a wired interface (such as an Ethernet interface) or a wireless interface (such as a cellular network interface or using a wireless local area network interface) for communicating with other computer devices or users. When the communication interface 513 is a wired interface, the communication interface 513 can adopt the protocol family above the network communication protocol (Transmission Control Protocol/Internet Protocol, TCP/IP), for example, the remote function call (Remote Function Call, RFC) protocol, simple Object Access Protocol (Simple Object Access Protocol, SOAP) protocol, Simple Network Management Protocol (Simple Network Management Protocol, SNMP), Common Object Request Broker Architecture (CORBA), distributed protocol, etc. When the communication interface 513 is a wireless interface, cellular communication can be used in accordance with the Global System for Mobile Communication (GSM) or Code Division Multiple Access (CDMA) standards, so it includes wireless for data transmission. Modem, electronic processing equipment, one or more digital memory devices, and dual antennas.
在本申请实施例中,处理器511、存储器512、通信接口513和总线514可执行本申请实施例提供的定制化软件生成方法的任一实施例中所描述的实现方式,在此不再赘述。In the embodiment of the present application, the processor 511, the memory 512, the communication interface 513, and the bus 514 can execute the implementation described in any embodiment of the customized software generation method provided in the embodiment of the present application, and will not be repeated here. .
在本申请的另一实施例中提供一种计算机非易失性可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现本申请提供的定制化软件生成方法的任一实施例中所描述的实现方式,在此不再赘述。In another embodiment of the present application, a computer non-volatile readable storage medium is provided, the computer readable storage medium stores a computer program, the computer program includes program instructions, and the program instructions are executed by a processor When realizing the implementation described in any embodiment of the customized software generation method provided by the present application, it will not be repeated here.
所述计算机非易失性可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。The computer non-volatile readable storage medium may be the internal storage unit of the terminal described in any of the foregoing embodiments, such as the hard disk or memory of the terminal. The computer-readable storage medium may also be an external storage device of the terminal, such as a plug-in hard disk equipped on the terminal, a Smart Media Card (SMC), or a Secure Digital (SD) card , Flash Card, etc. Further, the computer-readable storage medium may also include both an internal storage unit of the terminal and an external storage device. The computer-readable storage medium is used to store the computer program and other programs and data required by the terminal. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
在本申请所提供的几个实施例中,应该理解到,所揭露的方法及装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分, 仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided in this application, it should be understood that the disclosed method and device can be implemented in other ways. For example, the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present application.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solution of this application is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium It includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage media include: U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk and other media that can store program codes.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above are only specific implementations of this application, but the protection scope of this application is not limited to this. Anyone familiar with the technical field can easily think of various equivalents within the technical scope disclosed in this application. Modifications or replacements, these modifications or replacements shall be covered within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.

Claims (20)

  1. 一种定制化软件生成方法,其特征在于,所述方法包括:A method for generating customized software, characterized in that the method includes:
    从前端页面获取所述用户对目标应用程序的定制需求,其中,所述定制需求包括目标应用种类以及目标配置需求,所述前端页面用于向所述用户展示一个或者多个应用种类以及多个配置需求选项,不同的应用种类对应不同的配置需求选项,所述目标应用种类是所述应用种类中的一种,所述目标配置需求包括所述配置需求选项中的一种或者多种;Obtain the user's customization requirements for the target application from a front-end page, where the customization requirements include target application types and target configuration requirements, and the front-end page is used to display one or more application types and multiple Configuration requirement options, different application types correspond to different configuration requirement options, the target application type is one of the application types, and the target configuration requirement includes one or more of the configuration requirement options;
    根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件,其中,所述目标基础文件中包含调用所述目标配置文件的调用函数,所述目标配置文件包括全部配置模块的启动标识,所述配置模块与所述配置需求选项呈对应关系;Acquire the target basic file and target configuration file of the target application according to the target application type, wherein the target basic file includes a calling function for calling the target configuration file, and the target configuration file includes the startup of all configuration modules Identifies that the configuration module has a corresponding relationship with the configuration requirement option;
    根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包;According to the target configuration requirement, modify the startup identifier of each configuration module in the target configuration file, so that the target basic file can call the target configuration file through the calling function and start the corresponding target configuration requirement. Target configuration module to obtain the installation package of the target application;
    向所述用户发送所述目标应用程序的安装包。Send the installation package of the target application to the user.
  2. 根据权利要求1所述的方法,其特征在于,所述目标配置文件是可扩展标记语言XML文件,所述目标配置模块是动态链接库DLL文件,所述目标配置文件包括多个所述配置模块的调用接口地址,所述调用接口地址与所述配置模块呈一一对应关系。The method according to claim 1, wherein the target configuration file is an extensible markup language XML file, the target configuration module is a dynamic link library DLL file, and the target configuration file includes a plurality of the configuration modules The calling interface address is in a one-to-one correspondence with the configuration module.
  3. 根据权利要求2所述的方法,其特征在于,所述目标配置文件还包括目标记录文件,所述目标记录文件用于记录所述目标应用程序上一次调用的目标调用接口地址以及版本信息,所述版本信息至少包括所述目标配置文件的创建时间、修改时间以及文件大小。The method according to claim 2, wherein the target configuration file further comprises a target record file, and the target record file is used to record the target call interface address and version information of the last call of the target application. The version information includes at least the creation time, modification time and file size of the target configuration file.
  4. 根据权利要求3所述的方法,其特征在于,所述目标应用程序用于在接收到所述用户的启动申请的情况下,根据所述目标记录文件,将所述目标记录文件的版本信息与所述目标配置文件的版本信息进行匹配,在所述匹配结果为一致的情况下,读取所述目标记录文件中的所述上一次调用的目标调用接口,通过所述目标调用接口,使用调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而完成所述目标应用程序的启动。The method according to claim 3, wherein the target application program is used to compare the version information of the target record file with the version information of the target record file according to the target record file in the case of receiving the start application of the user The version information of the target configuration file is matched, and when the matching result is consistent, the last called target calling interface in the target record file is read, and the calling interface is used through the target calling interface. The function calls the target configuration file and starts the target configuration module corresponding to the target configuration requirement, thereby completing the start of the target application.
  5. 根据权利要求4所述的方法,其特征在于,所述目标应用程序还用于在所述匹配结果为不一致的情况下,所述目标应用程序遍历所述目标配置文件,获取包含所述启动标识的目标调用接口地址;记录所述目标调用接口地址以及目标配置文件的版本信息在目标记录文件中;通过所述调用函数调用所述接口地址,启动与所述目标配置需求对应的目标配置模块,从而完成所述目标应用程序的启动。The method according to claim 4, wherein the target application is further configured to traverse the target configuration file to obtain the target configuration file if the matching result is inconsistent Record the target call interface address and the version information of the target configuration file in the target record file; call the interface address through the call function to start the target configuration module corresponding to the target configuration requirement, Thus, the start of the target application is completed.
  6. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, wherein the method further comprises:
    接收所述用户的修改配置请求;Receiving a modification configuration request of the user;
    根据所述修改配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过调用函数调用与所述修改配置需求对应的配置模块,从而获得修改后的目标应用程序的安装包;According to the modified configuration requirement, modify the startup identifier of each configuration module in the target configuration file, so that the target basic file can call the configuration module corresponding to the modified configuration requirement by calling a function, thereby obtaining the modified target Application installation package;
    向所述用户发送所述修改后的目标应用程序的安装包。Send the modified installation package of the target application to the user.
  7. 根据权利要求1所述的方法,其特征在于,向所述用户发送所述目标应用程序安装包之后,所述方法还包括:The method according to claim 1, wherein after sending the target application installation package to the user, the method further comprises:
    获取所述用户对所述目标应用程序的评价信息,所述评价信息包括所述用户的评论内容以及打分信息;Acquiring evaluation information of the user on the target application, the evaluation information including the user's comment content and scoring information;
    根据所述打分信息和其他用户的打分信息使用评价算法输出打分结果;Use an evaluation algorithm to output a scoring result according to the scoring information and the scoring information of other users;
    根据所述用户的定制需求获取所述用户对应的配置推荐模型,根据所述配置推荐模型获得推荐结果,其中,所述配置推荐模型是使用样本集对神经网络进行训练得到的模型,所述样本集包括其他用户的地址信息、历史搜索记录、历史定制记录、历史点击记录及历 史阅读记录中的一种或多种;The configuration recommendation model corresponding to the user is obtained according to the user’s customization requirements, and the recommendation result is obtained according to the configuration recommendation model, where the configuration recommendation model is a model obtained by training a neural network using a sample set, and the sample The set includes one or more of address information of other users, historical search records, historical customized records, historical click records, and historical reading records;
    上传所述用户的评论内容、推荐结果以及打分结果至前端页面。Upload the user's comment content, recommendation result, and scoring result to the front-end page.
  8. 根据权利要求1至7任一权利要求所述的方法,其特征在于,所述目标配置文件是加密配置文件,所述根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识包括:The method according to any one of claims 1 to 7, wherein the target configuration file is an encrypted configuration file, and the configuration of each configuration module in the target configuration file is modified according to the target configuration requirement. Startup identification includes:
    在所述目标配置文件解密成功的情况下,根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识。In the case that the target configuration file is successfully decrypted, the startup identifier of each configuration module in the target configuration file is modified according to the target configuration requirement.
  9. 根据权利要求7所述的方法,其特征在于,上传所述用户的评论内容、推荐结果以及打分结果至前端页面之后,所述方法还包括:7. The method according to claim 7, wherein after uploading the user's comment content, recommendation results, and scoring results to the front-end page, the method further comprises:
    在所述打分信息高于阈值的情况下,向定制需求与所述用户的定制需求相同的其他用户发送所述目标应用程序的安装包。In the case where the scoring information is higher than the threshold, the installation package of the target application is sent to other users whose customization requirements are the same as the customization requirements of the user.
  10. 一种定制化软件生成系统,其特征在于,所述系统包括第一获取单元、第二获取单元、修改单元以及发送单元,其中,A customized software generation system, characterized in that the system includes a first acquisition unit, a second acquisition unit, a modification unit, and a sending unit, wherein:
    所述第一获取单元用于从前端页面获取所述用户对目标应用程序的定制需求,其中,所述定制需求包括目标应用种类以及目标配置需求;The first obtaining unit is configured to obtain the user's customization requirements for the target application from a front-end page, where the customization requirements include target application types and target configuration requirements;
    所述第二获取单元用于根据所述目标应用种类获取所述目标应用的目标基础文件以及目标配置文件,其中,所述目标基础文件中包含调用所述目标配置文件的调用函数,所述目标配置文件包括全部配置模块的启动标识,所述配置模块与所述配置需求选项呈对应关系;The second obtaining unit is configured to obtain a target basic file and a target configuration file of the target application according to the target application type, wherein the target basic file includes a calling function for calling the target configuration file, and the target The configuration file includes the startup identifiers of all configuration modules, and the configuration module corresponds to the configuration requirement option;
    所述修改单元用于根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过所述调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而获得目标应用程序的安装包;The modification unit is used to modify the startup identifier of each configuration module in the target configuration file according to the target configuration requirements, so that the target basic file can call the target configuration file through the calling function and start the connection The target configuration module corresponding to the target configuration requirement is described, so as to obtain the installation package of the target application;
    所述发送单元用于向所述用户发送所述目标应用程序的安装包。The sending unit is configured to send the installation package of the target application to the user.
  11. 根据权利要求10所述的系统,其特征在于,所述目标配置文件是可扩展标记语言XML文件,所述目标配置模块是动态链接库DLL文件,所述目标配置文件包括多个所述配置模块的调用接口地址,所述调用接口地址与所述配置模块呈一一对应关系。The system according to claim 10, wherein the target configuration file is an extensible markup language XML file, the target configuration module is a dynamic link library DLL file, and the target configuration file includes a plurality of the configuration modules The calling interface address is in a one-to-one correspondence with the configuration module.
  12. 根据权利要求11所述的系统,其特征在于,所述目标配置文件还包括目标记录文件,所述目标记录文件用于记录所述目标应用程序上一次调用的目标调用接口地址以及版本信息,所述版本信息至少包括所述目标配置文件的创建时间、修改时间以及文件大小。The system according to claim 11, wherein the target configuration file further comprises a target record file, and the target record file is used to record the target call interface address and version information of the last call of the target application. The version information includes at least the creation time, modification time and file size of the target configuration file.
  13. 根据权利要求12所述的系统,其特征在于,所述目标应用程序用于在接收到所述用户的启动申请的情况下,根据所述目标记录文件,将所述目标记录文件的版本信息与所述目标配置文件的版本信息进行匹配,在所述匹配结果为一致的情况下,读取所述目标记录文件中的所述上一次调用的目标调用接口,通过所述目标调用接口,使用调用函数调用所述目标配置文件并启动与所述目标配置需求对应的目标配置模块,从而完成所述目标应用程序的启动。The system according to claim 12, wherein the target application program is used to compare the version information of the target record file with the version information of the target record file according to the target record file in the case of receiving the start application of the user The version information of the target configuration file is matched, and when the matching result is consistent, the last called target calling interface in the target record file is read, and the calling interface is used through the target calling interface. The function calls the target configuration file and starts the target configuration module corresponding to the target configuration requirement, thereby completing the start of the target application.
  14. 根据权利要求12所述的系统,其特征在于,所述目标应用程序还用于在所述匹配结果为不一致的情况下,所述目标应用程序遍历所述目标配置文件,获取包含所述启动标识的目标调用接口地址;记录所述目标调用接口地址以及目标配置文件的版本信息在目标记录文件中;通过所述调用函数调用所述接口地址,启动与所述目标配置需求对应的目标配置模块,从而完成所述目标应用程序的启动。The system according to claim 12, wherein the target application is further configured to traverse the target configuration file to obtain the target configuration file when the matching result is inconsistent Record the target call interface address and the version information of the target configuration file in the target record file; call the interface address through the call function to start the target configuration module corresponding to the target configuration requirement, Thus, the start of the target application is completed.
  15. 根据权利要求14所述的系统,其特征在于,所述修改单元还用于:The system according to claim 14, wherein the modification unit is further configured to:
    接收所述用户的修改配置请求;Receiving a modification configuration request of the user;
    根据所述修改配置需求,修改所述目标配置文件中每个配置模块的启动标识,使得所述目标基础文件能够通过调用函数调用与所述修改配置需求对应的配置模块,从而获得修 改后的目标应用程序的安装包;According to the modified configuration requirement, modify the startup identifier of each configuration module in the target configuration file, so that the target basic file can call the configuration module corresponding to the modified configuration requirement by calling a function, thereby obtaining the modified target Application installation package;
    向所述用户发送所述修改后的目标应用程序的安装包。Send the modified installation package of the target application to the user.
  16. 根据权利要求10所述的系统,其特征在于,所述系统还包括评价单元,所述评价单元用于向所述用户发送所述目标应用程序安装包之后,The system according to claim 10, wherein the system further comprises an evaluation unit configured to send the target application installation package to the user,
    获取所述用户对所述目标应用程序的评价信息,所述评价信息包括所述用户的评论内容以及打分信息;Acquiring evaluation information of the user on the target application, the evaluation information including the user's comment content and scoring information;
    根据所述打分信息和其他用户的打分信息使用评价算法输出打分结果;Use an evaluation algorithm to output a scoring result according to the scoring information and the scoring information of other users;
    根据所述用户的定制需求获取所述用户对应的配置推荐模型,根据所述配置推荐模型获得推荐结果,其中,所述配置推荐模型是使用样本集对神经网络进行训练得到的模型,所述样本集包括其他用户的地址信息、历史搜索记录、历史定制记录、历史点击记录及历史阅读记录中的一种或多种;The configuration recommendation model corresponding to the user is obtained according to the user’s customization requirements, and the recommendation result is obtained according to the configuration recommendation model, where the configuration recommendation model is a model obtained by training a neural network using a sample set, and the sample The set includes one or more of other users' address information, historical search records, historical customized records, historical click records, and historical reading records;
    上传所述用户的评论内容、推荐结果以及打分结果至前端页面。Upload the user's comment content, recommendation result, and scoring result to the front-end page.
  17. 根据权利要求10至16任一权利要求所述的系统,其特征在于,所述目标配置文件是加密配置文件,所述修改单元用于在所述目标配置文件解密成功的情况下,根据所述目标配置需求,修改所述目标配置文件中每个配置模块的启动标识。The system according to any one of claims 10 to 16, wherein the target configuration file is an encrypted configuration file, and the modification unit is configured to, if the target configuration file is successfully decrypted, according to the Target configuration requirements, modify the startup identification of each configuration module in the target configuration file.
  18. 根据权利要求16所述的方法,其特征在于,所述评价单元还用于在上传所述用户的评论内容、推荐结果以及打分结果至前端页面之后,在所述打分信息高于阈值的情况下,向定制需求与所述用户的定制需求相同的其他用户发送所述目标应用程序的安装包。The method according to claim 16, wherein the evaluation unit is further configured to upload the user’s comment content, recommendation results, and scoring results to the front-end page, when the scoring information is higher than a threshold To send the installation package of the target application to other users whose customization requirements are the same as the customization requirements of the user.
  19. 一种电子设备,其特征在于,所述电子设备包括处理器和存储器;所述存储器用于存储指令;所述处理器用于调用存储器中的指令,执行如上权利要求1至7任意一项所述的方法。An electronic device, wherein the electronic device includes a processor and a memory; the memory is used to store instructions; the processor is used to call instructions in the memory to execute any one of claims 1 to 7 Methods.
  20. 一种计算机非易失性可读可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任意一项所述的方法。A computer non-volatile readable and readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement any one of claims 1 to 7 Methods.
PCT/CN2019/120661 2019-05-21 2019-11-25 Customized software generation method and system, and electronic device and storage medium WO2020233048A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910422042.7A CN110244977A (en) 2019-05-21 2019-05-21 Customized software generation method, system, electronic equipment and storage medium
CN201910422042.7 2019-05-21

Publications (1)

Publication Number Publication Date
WO2020233048A1 true WO2020233048A1 (en) 2020-11-26

Family

ID=67884686

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/120661 WO2020233048A1 (en) 2019-05-21 2019-11-25 Customized software generation method and system, and electronic device and storage medium

Country Status (2)

Country Link
CN (1) CN110244977A (en)
WO (1) WO2020233048A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113138790A (en) * 2021-05-14 2021-07-20 广东九联科技股份有限公司 Customized integration method and device for Android set top box and set top box integrated development system
CN113743895A (en) * 2021-08-30 2021-12-03 深圳壹账通智能科技有限公司 Component management method and device, computer equipment and storage medium
CN113741949A (en) * 2021-09-07 2021-12-03 北京百度网讯科技有限公司 Method, device and equipment for generating application program installation package and storage medium
CN113836025A (en) * 2021-09-28 2021-12-24 湖南快乐阳光互动娱乐传媒有限公司 Page testing method and device, storage medium and electronic equipment
CN115037787A (en) * 2022-06-09 2022-09-09 上海禾骋科技有限公司 Method, system and device for testing automobile network communication
CN115242628A (en) * 2022-06-20 2022-10-25 平安普惠企业管理有限公司 Application downloading method, device and equipment based on module deployment and storage medium
CN115827060A (en) * 2022-12-09 2023-03-21 广州文石信息科技有限公司 Application adaptation method, device, equipment and storage medium
CN116339736A (en) * 2023-05-29 2023-06-27 英诺达(成都)电子科技有限公司 Configuration method, device, equipment and storage medium of TCL (TCL) interactive interface

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244977A (en) * 2019-05-21 2019-09-17 深圳壹账通智能科技有限公司 Customized software generation method, system, electronic equipment and storage medium
CN110990049A (en) * 2019-11-15 2020-04-10 烽火通信科技股份有限公司 Differentiated Android software generation method and system
CN110865844B (en) * 2019-11-28 2021-09-28 安徽江淮汽车集团股份有限公司 Application configuration system and method based on Internet of vehicles platform
CN111124483B (en) * 2019-12-26 2024-01-30 深圳创维-Rgb电子有限公司 System software adaptation method, terminal and storage medium
CN111475143A (en) * 2020-04-07 2020-07-31 四川虹美智能科技有限公司 Method and device for customizing software
CN113515389B (en) * 2020-04-09 2024-03-01 奇安信安全技术(珠海)有限公司 Method and device for calling intermediate interface, system, storage medium and electronic device
CN111475230B (en) * 2020-04-15 2023-03-14 望海康信(北京)科技股份公司 Application function configuration method and device and electronic equipment
CN111880767A (en) * 2020-06-11 2020-11-03 广州华多网络科技有限公司 Book reading application program configuration method and device and electronic equipment
CN111880781A (en) * 2020-07-29 2020-11-03 北京浪潮数据技术有限公司 Generation method, device, equipment and storage medium of RPM (revolution speed limit) installation package
CN112068877A (en) * 2020-08-14 2020-12-11 深圳市卓智荟教育科技有限公司 Configuration method and device for education digital application and readable storage medium
CN112306530B (en) * 2020-11-10 2022-07-15 珠海格力电器股份有限公司 Software update method, apparatus, electronic device, and computer-readable medium
CN112650509B (en) * 2020-12-24 2023-02-28 苏州达家迎信息技术有限公司 Application installation package generation method and device, computer equipment and storage medium
CN115002214A (en) * 2021-02-20 2022-09-02 京东科技控股股份有限公司 Information processing method, device and system, electronic equipment and storage medium
CN113411203B (en) * 2021-05-14 2022-12-20 深圳市广和通无线股份有限公司 Terminal configuration method and device, computer equipment and storage medium
CN113485677B (en) * 2021-06-01 2024-03-19 成都节节高教育科技有限公司 APP program developer auxiliary system and method based on user demand driving
CN113467825A (en) * 2021-06-30 2021-10-01 完美世界(北京)软件科技发展有限公司 IPA data display system, method, device, equipment and computer readable medium thereof
CN113900703A (en) * 2021-09-30 2022-01-07 苏州浪潮智能科技有限公司 Installation package generation method and device, electronic equipment and storage medium
CN113961292B (en) * 2021-10-21 2024-03-26 安天科技集团股份有限公司 Security product generation method and device, electronic equipment and storage medium
CN113986387A (en) * 2021-10-28 2022-01-28 上海米哈游璃月科技有限公司 Project configuration information loading method and device, electronic equipment and storage medium
CN114880043A (en) * 2022-04-28 2022-08-09 北京市商汤科技开发有限公司 Application processing method and device, terminal device and readable storage medium
CN115016804A (en) * 2022-06-01 2022-09-06 阿尔特(北京)汽车数字科技有限公司 Data interaction method, system, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020053070A1 (en) * 2000-10-27 2002-05-02 Kabushiki Kaisha Toshiba Application development system and method
CN107688464A (en) * 2017-06-28 2018-02-13 上海壹账通金融科技有限公司 Software customized server, method and computer-readable recording medium
CN109683893A (en) * 2018-12-14 2019-04-26 五八有限公司 Application program generation method, device, server and storage medium
CN109725897A (en) * 2018-12-03 2019-05-07 深圳市多元世纪信息技术股份有限公司 Software customized methods, devices and systems, terminal
CN110244977A (en) * 2019-05-21 2019-09-17 深圳壹账通智能科技有限公司 Customized software generation method, system, electronic equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248508A1 (en) * 2005-04-29 2006-11-02 Symbol Technologies, Inc. Method and system for applet extensibility application program interface (API)
CN107783795B (en) * 2017-07-26 2021-05-28 深圳壹账通智能科技有限公司 Application program starting method and device, computer equipment and storage medium
CN108319460B (en) * 2018-01-24 2021-09-17 广东小天才科技有限公司 Method and device for generating application program installation package, electronic equipment and storage medium
CN109582342A (en) * 2018-11-29 2019-04-05 珠海豹趣科技有限公司 A kind of processing method and relevant apparatus of OEM software

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020053070A1 (en) * 2000-10-27 2002-05-02 Kabushiki Kaisha Toshiba Application development system and method
CN107688464A (en) * 2017-06-28 2018-02-13 上海壹账通金融科技有限公司 Software customized server, method and computer-readable recording medium
CN109725897A (en) * 2018-12-03 2019-05-07 深圳市多元世纪信息技术股份有限公司 Software customized methods, devices and systems, terminal
CN109683893A (en) * 2018-12-14 2019-04-26 五八有限公司 Application program generation method, device, server and storage medium
CN110244977A (en) * 2019-05-21 2019-09-17 深圳壹账通智能科技有限公司 Customized software generation method, system, electronic equipment and storage medium

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113138790A (en) * 2021-05-14 2021-07-20 广东九联科技股份有限公司 Customized integration method and device for Android set top box and set top box integrated development system
CN113138790B (en) * 2021-05-14 2023-11-10 广东九联科技股份有限公司 Customized integration method and device for Android set top box and integrated development system for set top box
CN113743895A (en) * 2021-08-30 2021-12-03 深圳壹账通智能科技有限公司 Component management method and device, computer equipment and storage medium
CN113741949A (en) * 2021-09-07 2021-12-03 北京百度网讯科技有限公司 Method, device and equipment for generating application program installation package and storage medium
CN113741949B (en) * 2021-09-07 2023-09-29 北京百度网讯科技有限公司 Method, device, equipment and storage medium for generating application program installation package
CN113836025A (en) * 2021-09-28 2021-12-24 湖南快乐阳光互动娱乐传媒有限公司 Page testing method and device, storage medium and electronic equipment
CN115037787A (en) * 2022-06-09 2022-09-09 上海禾骋科技有限公司 Method, system and device for testing automobile network communication
CN115242628A (en) * 2022-06-20 2022-10-25 平安普惠企业管理有限公司 Application downloading method, device and equipment based on module deployment and storage medium
CN115827060A (en) * 2022-12-09 2023-03-21 广州文石信息科技有限公司 Application adaptation method, device, equipment and storage medium
CN116339736A (en) * 2023-05-29 2023-06-27 英诺达(成都)电子科技有限公司 Configuration method, device, equipment and storage medium of TCL (TCL) interactive interface
CN116339736B (en) * 2023-05-29 2023-07-28 英诺达(成都)电子科技有限公司 Configuration method, device, equipment and storage medium of TCL (TCL) interactive interface

Also Published As

Publication number Publication date
CN110244977A (en) 2019-09-17

Similar Documents

Publication Publication Date Title
WO2020233048A1 (en) Customized software generation method and system, and electronic device and storage medium
EP3762882B1 (en) System and method for establishing common request processing
US20120246122A1 (en) Integrating data-handling policies into a workflow model
US10521834B2 (en) Mobile solution for purchase orders
US11620444B2 (en) Providing action associated with event detected within communication
CN102810057A (en) Log recording method
US20150370674A1 (en) Tenant provisioning for testing a production multi-tenant service
CN107862425B (en) Wind control data acquisition method, device and system and readable storage medium
US10509641B2 (en) Optimizing feature deployment based on usage pattern
CN107015794B (en) Software-as-a-service reference flow extension verification framework
WO2023179725A1 (en) Application integration method and device
US20230267430A1 (en) Data processing method and device, and computer-readable storage medium
CN111324645B (en) Block chain data processing method and device
WO2019233454A1 (en) Chain code upgrading method and device
US10289978B2 (en) Method and apparatus for integrating health care payers and provider systems with health care transaction systems using a single HIPAA EDI response generation component
CN111652580B (en) Method and device for processing data of nodes
CN112182400B (en) Message processing method, message processing device, electronic equipment and storage medium
CN111865726B (en) Service message testing method, device, computer system and storage medium
CN112732547B (en) Service testing method and device, storage medium and electronic equipment
CN108984318B (en) Message delivery method and device based on driving model and readable storage medium
CN113094048A (en) Data display rule determining method, display method, device, equipment and medium
CN111597784A (en) Information sending method, device, terminal equipment and medium
CN113448960A (en) Method and device for importing form file
CN111801696A (en) Payment page management method, payment page management device, payment system and storage medium
WO2024066749A1 (en) Blockchain transaction execution method and apparatus, program product, device, and medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19929982

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 04/03/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19929982

Country of ref document: EP

Kind code of ref document: A1