CN115658134A - Software version control method, device, equipment and storage medium - Google Patents

Software version control method, device, equipment and storage medium Download PDF

Info

Publication number
CN115658134A
CN115658134A CN202211158754.0A CN202211158754A CN115658134A CN 115658134 A CN115658134 A CN 115658134A CN 202211158754 A CN202211158754 A CN 202211158754A CN 115658134 A CN115658134 A CN 115658134A
Authority
CN
China
Prior art keywords
algorithm
software
flow
version
type
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202211158754.0A
Other languages
Chinese (zh)
Inventor
周波
苗瑞
梁书玉
张鹏
邹小刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen HQVT Technology Co Ltd
Original Assignee
Shenzhen HQVT Technology Co Ltd
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 Shenzhen HQVT Technology Co Ltd filed Critical Shenzhen HQVT Technology Co Ltd
Priority to CN202211158754.0A priority Critical patent/CN115658134A/en
Publication of CN115658134A publication Critical patent/CN115658134A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The application provides a software version control method, a software version control device, software version control equipment and a storage medium. The method comprises the steps of obtaining configuration information for creating a software version; the configuration information comprises an identifier of a software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1; generating a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code files corresponding to the differentiated flow of each service requirement information, and the differentiated flow is different between the flow indicated by each service requirement information and the corresponding standardized flow; the standardized flow is a preset general flow aiming at the service demand information; acquiring second class software code files corresponding to standardized processes of M pieces of business demand information; compiling the first class software code files and the second class software code files corresponding to the differentiation processes of the M pieces of business requirement information to generate a software upgrading package of the software version.

Description

Software version control method, device, equipment and storage medium
Technical Field
The present application relates to computer technologies, and in particular, to a method, an apparatus, a device, and a storage medium for controlling a software version.
Background
The development of software technology has led to the rapid development of many software technology enterprises. In addition to the hardware manufacturing, the software technology enterprise needs to design a set of code versions for each order according to the business requirements of the user.
With the increase of user service requirements, code development needs to be repeated for similar service requirements, so that software development efficiency is low.
Disclosure of Invention
The application provides a software version control method, a device, equipment and a storage medium, which are used for solving the problem of low software development efficiency.
In a first aspect, the present application provides a software version control method, including: acquiring configuration information for creating a software version; the configuration information comprises an identifier of the software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1; generating a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code file corresponding to a differentiated flow of each service requirement information in the M pieces of service requirement information, wherein the differentiated flow is different between a flow indicated by each piece of service requirement information and a corresponding standardized flow; the standardized flow is a preset general flow aiming at the service demand information; acquiring second class software code files corresponding to the standardized processes of the M pieces of service demand information; compiling the first class software code files and the second class software code files corresponding to the differentiation processes of the M pieces of business requirement information to generate a software upgrading package of the software version.
In a second aspect, the present application provides a software version control apparatus, comprising: the acquisition module is used for acquiring newly-built configuration information of the software version; the configuration information comprises an identifier of the software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1; the generation module is used for generating a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code file corresponding to a differentiated flow of each service requirement information in the M pieces of service requirement information, wherein the differentiated flow is different between a flow indicated by each piece of service requirement information and a corresponding standardized flow; the acquiring module is further configured to acquire a second class software code file corresponding to the standardized process of the M pieces of service demand information; and the compiling module is used for compiling the first class software code files and the second class software code files corresponding to the differentiation processes of the M pieces of business requirement information to generate the software upgrading package of the software version.
In a third aspect, the present application provides an electronic device, comprising: a processor, and a memory and an operating system communicatively coupled to the processor; the memory stores computer execution instructions; invoking, by the operating system, the processor to cause the processor to execute the computer-executable instructions stored by the memory to implement the method of the first aspect.
In a fourth aspect, the present application provides a computer-readable storage medium having stored thereon computer-executable instructions for implementing the method of the first aspect when executed by a processor.
In a fifth aspect, the present application provides a computer program product comprising a computer program which, when executed by a processor, performs the method according to the first aspect.
According to the software version control method, the device, the equipment and the storage medium, the configuration information for creating the software version is obtained; the configuration information comprises an identifier of a software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1; generating a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code files corresponding to a differentiated flow of each business demand information in the M business demand information, and the differentiated flow is a different flow between a flow indicated by each business demand information and a corresponding standardized flow; acquiring second class software code files corresponding to standardized processes of the M pieces of service demand information; compiling the first type of software code files and the second type of software code files corresponding to the differentiation processes of the M pieces of business requirement information to generate a software upgrading package of the software version. Because the second type software code files corresponding to the standardized processes of the M pieces of service demand information are obtained according to the configuration information, codes corresponding to the standardized processes of the M pieces of service demand information are preset, repeated code development can be avoided, and software development efficiency is improved. The version management folder is used for storing a first type of software code files corresponding to a differentiated flow between a flow indicated by each piece of business demand information and a corresponding standardized flow in the M pieces of business demand information, and can provide a function of customized development aiming at customer demands for developers, so that the actual demands of customers are met on the basis of reducing repeated code development, and the software development efficiency is improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and, together with the description, serve to explain the principles of the application.
Fig. 1 is a schematic diagram of an application scenario provided in an embodiment of the present application;
fig. 2 is an architecture diagram of an application layer of an operating system according to an embodiment of the present application;
fig. 3 is a flowchart of a software version control method provided in an embodiment of the present application;
fig. 4 is a schematic structural diagram of a device management module according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a file storage management module according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a thread/process management module according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a network service module according to an embodiment of the present application;
FIG. 8 is a schematic structural diagram of a GUI design module provided in an embodiment of the present application;
fig. 9 is a schematic structural diagram of an algorithm management module according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a version management module according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a software version control apparatus according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Specific embodiments of the present application have been shown by way of example in the drawings and will be described in more detail below. These drawings and written description are not intended to limit the scope of the inventive concepts in any manner, but rather to illustrate the inventive concepts to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
In the software development process, business codes need to be written according to the requirements of customers. Fig. 1 is a schematic diagram of an application scenario provided in an embodiment of the present application. As shown in fig. 1, the application scenario includes a terminal device 11 and a server 12; the terminal device 11 is communicatively connected to the server 12. In the method, for the service requirement of a new software version, a developer may develop a service code through a standard Linux operating system installed on the terminal device 11, and submit the service code to the server 12, and the server 12 performs version management (version control). When the server performs version management, a centralized version management tool or a distributed version management tool may be used.
Although the standard Linux operating system can meet most development requirements, when the requirements of the docked new version are similar to those of the old version, developers still need to repeatedly output similar codes, so that the software development efficiency is low.
In addition, taking a centralized version management tool SVN library as an example, a project usually needs to be completed by multiple developers, each developer uses and maintains the same code library at the same time when developing business codes for new requirements, and each developer pulls the code libraries at the same time according to the respective responsible function requirements and submits the code libraries to the code library after completing the codes. With the increase of user requirements and the increase of code versions, a method capable of managing different code versions is required. Currently, macro definitions are used to manage the different versions of branches. However, the use of macro definitions to manage different versions of branches has the following phenomena: when a version is submitted, if there is one change, other versions are affected, and the running performance of the device is also affected by the continuous increase of the code amount.
With the increasing demand of users, the SVN library has an increasing amount of code to be maintained, which is filled with many neutral codes, codes of various docking items and patch codes for remediation systems. These codes still affect each other during the commit process, and when there is an erroneous change during the commit process, the performance quality of other versions is affected. Making the software version management less effective.
In view of the above technical problems, the inventors of the present application propose the following technical idea: the software upgrading package is obtained by storing customized software codes corresponding to the difference between the flow indicated by the service requirement information and the standardized flow under a version management folder, generating software codes corresponding to the standardized flow aiming at the flow indicated by the service requirement information, and compiling according to the customized software codes and the software codes corresponding to the standardized flow.
Fig. 2 is an architecture diagram of an application layer of an operating system according to an embodiment of the present disclosure. The operating system is an embedded operating system, and the operating system is designed at the top layer aiming at the application layer and the kernel, wherein the top layer is subjected to adaptive version heterogeneous management. As shown in fig. 2, the application layer of the operating system includes a device management module 21, a file storage management module 22, a thread/process management module 23, a network service module 24, a graphical user interface design module 25, an algorithm management module 26, and a version management module 27, and the application layer of the operating system is capable of providing software codes corresponding to standardized procedures for version heterogeneous management for the device management module 21, the file storage management module 22, the thread/process management module 23, the network service module 24, the graphical user interface design module 25, the algorithm management module 26, and the version management module 27.
The version management module 27 is used for providing a function of generating a request for creating a software version and selecting a computing platform for a user; after the user selects the algorithm platform, the algorithm management module 26 provides the user with the selection function of algorithm mode and algorithm version; after the user selects the algorithm mode and the algorithm version, the network service module 24, the gui design module 25, and the device management module 21 provide the user with the selection functions of the network protocol type, the gui type, and the device type, respectively. In order to better serve version isomerism, the operating system carries out modular management on the second type code files corresponding to the M functional requirements, and provides standard inheritable functional codes for the M functional requirements according to the functional modules. Each version has a code path, a compiling output path, a version identification and an upgrade file management path which are managed by the version, and version heterogeneous management can be realized.
Optionally, when the user selects the algorithm version, the flow corresponding to the algorithm version indicated by the actual business requirement of the client is different from the standardized flow corresponding to the selected algorithm version, that is, the code of the standardized flow of the selected algorithm version cannot be used, a customized subfolder for the software version may be created under the folder of the software version, a subfolder for the algorithm version may be created in the customized subfolder, and the code of the differentiated flow of the actual business requirement of the client relative to the standardized flow corresponding to the selected algorithm version may be stored in the subfolder for the algorithm version.
Optionally, when the user selects the communication protocol type, the communication protocol type indicated by the actual service requirement of the client is different from the standardized flow corresponding to the communication protocol type selected by the user, that is, the code of the standardized flow of the communication protocol type selected by the user cannot be used completely, a subfolder of a communication protocol type may be created under the customized subfolder of the software version, and the code of the differentiated flow of the communication protocol type indicated by the actual service requirement of the client relative to the standardized flow corresponding to the selected communication protocol type is stored in the subfolder of the communication protocol type.
Wherein the file storage management module 12 provides a local data storage function for the user. When the user selects the algorithm version, the process/thread of the standardized flow corresponding to the selected algorithm version can be automatically generated. And then, if the algorithm version indicated by the actual business requirement of the client is not completely the same as the standardized flow corresponding to the selected algorithm version, and the user customizes the algorithm function according to the actual business requirement, a process/thread corresponding to the customized algorithm function is generated.
Similarly, when the user selects a communication protocol type, a process/thread of the standardized flow corresponding to the selected communication protocol type can be automatically generated. Then, if the communication protocol type indicated by the actual service requirement of the client is not identical to the standardized flow corresponding to the selected communication protocol type, and the user customizes the communication protocol function according to the actual service requirement, a process/thread corresponding to the customized communication protocol function is generated.
It should be noted that, when the algorithm version indicated by the actual business requirement of the client is not completely the same as the standardized flow corresponding to the selected algorithm version, and/or the communication protocol type indicated by the actual business requirement of the client is not completely the same as the standardized flow corresponding to the communication protocol type selected by the user, a customized subfolder needs to be generated for the software version, and a subfolder needs to be created for the algorithm version type for storing the customized code of the algorithm version, and/or a subfolder needs to be created for the communication protocol type for storing the customized code of the communication protocol type.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
Fig. 3 is a flowchart of a software version control method according to an embodiment of the present application. As shown in fig. 3, the method comprises the steps of:
s301, acquiring configuration information for creating a software version; the configuration information comprises identification of a software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1.
The execution subject of the method may be a terminal device as shown in fig. 1. The configuration information in this embodiment may be input in the configuration interface based on the user's needs. Optionally, step S301 specifically includes the following sub-steps:
step a1, displaying selection interfaces of various computing force platform types according to the creation request of the acquired new software version.
Specifically, a configuration interface may be provided, and a request for creating a new software release may be generated by operating the configuration interface. Illustratively, when a user clicks on a button for creation of a new software release in the configuration interface, the configuration interface displays options for a plurality of computing platform types, such as model a chips, model B chips, etc., and prompts the user to select the desired computing platform type. And when the user selects the type A chip, the type A chip is the type of the target computing force platform.
Optionally, when a request for creating a new software version is generated through the configuration interface, a new request for creating the software version may be sent to the server; the server generates an identifier of the software version to be newly built according to the new building request of the software version; the identification of the software version is returned. The server generates the identification of the software version, and the unified management of the version identification is facilitated.
Step a2, displaying configuration interfaces of N algorithm modes related to the target computing force platform type according to the target computing force platform type selected by a user in the multiple computing force platform types; n is an integer greater than or equal to 1.
After the user selects the type of the target computing power platform, the configuration interface continues to display at least one algorithm mode associated with the target computing power platform, such as a single algorithm mode, multiple algorithm switching modes, multiple algorithm fusion modes, and the like.
Optionally, when a user selects a target computing platform type from the multiple computing platform types, the operating system automatically allocates resources of the operating system, such as a device driver, code library compilation and bottom image processing, to the development process of the software version according to the target computing platform type. The resources of the operating systems are obtained by encapsulating the resources of the operating systems corresponding to different computing platform types and different computing platform types in advance. When the user selects the target computing force platform type, the resources of the packaged operating system corresponding to the target computing force platform type are automatically allocated.
And a3, displaying a configuration interface of a plurality of service requirements associated with the target algorithm mode according to the target algorithm mode selected by the user in the N algorithm modes.
And the algorithm mode selected by the user in the at least one algorithm mode is the target algorithm mode. After the User selects the target algorithm mode, the configuration Interface continuously displays a plurality of function requirements associated with the target algorithm mode, such as an algorithm type, an algorithm version, a communication protocol type, a peripheral device type, a Graphical User Interface (GUI) and a log.
Exemplary algorithm types include face recognition algorithms, mask recognition algorithms, vehicle recognition algorithms, and the like. Different algorithm versions may be provided by the face recognition algorithm, the mask recognition algorithm or the vehicle recognition algorithm. The communication protocol types comprise http, https, MQTT and the like. The types of the peripheral equipment include factory manufacturers and models of the peripheral equipment. The GUI interface includes whether a 2D acceleration engine is selected, and the hardware model and software model of the engine used when the 2D acceleration engine is selected. The log comprises setting default display level, length of display bytes, saving length of log single bar, maximum number of logs capable of being saved and the like.
Optionally, the service requirements may be displayed through one page, or may be displayed through multiple pages, which is not limited in this embodiment.
And a4, generating configuration information according to M service requirements selected by a user from the plurality of service requirements, the type of the target computing force platform and the target algorithm mode.
And after all the information is selected, the operating system generates configuration information comprising the target computing power platform type, the target algorithm mode and the M service requirements according to the target computing power platform type, the target algorithm mode and the M service requirements selected by the user.
S302, second class software code files corresponding to the standardized processes of the M pieces of business requirement information are obtained.
In an alternative embodiment, step S302 includes: and receiving a second class software code file corresponding to the standardized process of the M pieces of service demand information generated by the server according to the configuration information. When the terminal equipment acquires configuration information input by a user, the configuration information is sent to a server; and the server generates second class software code files corresponding to the standardized flows of the M pieces of service demand information according to the configuration information, and returns the second class software code files corresponding to the standardized flows of the M pieces of service demand information. Optionally, the standardized process of each service requirement information in the M pieces of service requirement information may correspond to a second type software code file, respectively.
In another alternative embodiment, step S302 includes: receiving a parameter set generated by the server according to the configuration information, wherein the parameter set comprises parameters of software codes corresponding to a standardized process for generating M pieces of service demand information; and generating second class software code files corresponding to the standardized flows of the M pieces of service demand information according to the parameter set. When the terminal equipment acquires configuration information input by a user, the configuration information is sent to a server; and the server generates a parameter set of software codes corresponding to the standardized process for generating the M pieces of service demand information according to the configuration information, and returns the parameter set to the terminal equipment, so that the terminal equipment can automatically generate the software codes corresponding to the standardized process for the M pieces of service demand information locally according to the parameter set. Therefore, the problem that the generation efficiency of the standardized codes is influenced due to the fact that the data volume of the software codes is large and the time consumption of data transmission is caused because the software codes corresponding to the standardized flows of the M pieces of service demand information are generated by the server and returned to the terminal equipment is solved.
S303, generating a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code files corresponding to a differentiation process of each service requirement information in the M pieces of service requirement information, wherein the differentiation process is a process different between a process indicated by each piece of service requirement information and a corresponding standardized process; the standardized process is a preset general process aiming at the service demand information.
The step is that the version management folder of the software version is locally generated on the terminal equipment of the developer, so as to be used for storing the software code which is customized and developed by the developer according to the M business requirements. The version management folders are distinguished by the identity of the software version. The standardized process refers to a universal code process corresponding to an actual business requirement. The codes corresponding to the standardized flow or the parameter set for generating the codes corresponding to the standardized flow can be preset and stored in the server; when a request for generating a standardized process code sent by the terminal equipment is received, returning a code corresponding to a preset standardized process to the terminal equipment, or returning a parameter set for generating the code corresponding to the standardized process to the terminal equipment, so that the terminal equipment automatically generates the standardized process code according to the parameter set.
Taking face recognition as an example, the algorithm recognition process comprises the steps of capturing pictures, judging whether the pictures are in a face library or not, customizing passing voice, displaying a UI (user interface) and uploading an attendance message, wherein each process node in the process is universal. However, for voice, UI display and attendance messages, the requirements of different customers may be different, for example, the standard flow is "please pass" and the customer requirement is "name + please pass". At this time, the flow indicated by the service requirement information of the client can borrow the standardized flow.
In addition, when the algorithm identification process of the face identification comprises image capturing, local comparison and personnel information acquisition, but the process indicated by the business requirement information of the client comprises image capturing, comparison sending to the server and personnel information return. It can be seen that the flow indicated by the service requirement information of the client is different from the standardized flow of face recognition, and at this time, the standardized flow of face recognition cannot be borrowed.
When the sequence of the flow indicated by the service requirement information is the same as that of each flow node in the standardized flow, and the function of at least one sub-flow in the flow indicated by the service requirement information is different from the function of the corresponding sub-flow in the standardized flow, determining the standardized flow capable of borrowing the preset service requirement information; and if the flow indicated by the service demand information is different from the main flow of the standardized flow, determining that the preset standardized flow of the service demand information cannot be borrowed.
S304, compiling the first type of software code files and the second type of software code files corresponding to the differentiation processes of the M pieces of business requirement information to generate a software upgrading package of the software version.
In this embodiment, the first type of software code files corresponding to the differentiated processes of the M pieces of service requirement information are customized codes written according to user requirements, compared with standardized process codes. The second type of software code files of the M pieces of business requirement information are used as neutral versions, and the first type of software code files are used as branches of a main branch. During compiling, compiling the second type of software code files into a dynamic library of the first type of software code files according to the identification of the software version in the compiling demand information to obtain a dynamic library of the sub-version; compiling according to the dynamic library of the sub-version and the first class of software code file to generate a software upgrading package of the software version meeting the requirement.
Optionally, the first type of software code files corresponding to the differentiated flows of the M pieces of service requirement information may also be submitted to a server for storage, so as to be changed subsequently according to user requirements.
In the embodiment, configuration information for newly building a software version is acquired; the configuration information comprises an identifier of a software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1; generating a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code files corresponding to a differentiated flow of each business demand information in the M business demand information, and the differentiated flow is a different flow between a flow indicated by each business demand information and a corresponding standardized flow; acquiring second class software code files corresponding to standardized processes of the M pieces of service demand information; compiling the first class software code files and the second class software code files corresponding to the differentiation processes of the M pieces of business requirement information to generate a software upgrading package of the software version. Because the second type software code files corresponding to the standardized flows of the M pieces of service requirement information are obtained according to the configuration information, and the codes corresponding to the standardized flows of the M pieces of service requirement information are preset, repeated code development can be avoided, and the software development efficiency is improved. The version management folder is used for storing a first type of software code files corresponding to a differentiated flow between a flow indicated by each piece of business requirement information and a corresponding standardized flow in the M pieces of business requirement information, can provide a function of customized development aiming at customer requirements for developers to manage customized developed codes, realizes independent management of the customized developed codes of different software versions, and cannot affect other codes in a code submitting process.
In one or more embodiments of the present application, optionally, the algorithm mode may include a single algorithm mode, a plurality of algorithm switching modes, or a plurality of algorithm fusing modes; namely, the configuration interface can provide a single algorithm mode, a plurality of algorithm switching modes or a plurality of algorithm fusion modes, and the single algorithm mode, the plurality of algorithm switching modes or the plurality of algorithm fusion modes can be selected according to actual requirements.
And if the algorithm mode is the single algorithm mode, storing the software codes corresponding to the differentiated flows between the algorithm flow corresponding to the single algorithm mode and the standardized flow corresponding to the single algorithm mode into a first class of software code files corresponding to the single algorithm mode in the version management folder. The software code corresponding to the differentiated flow between the algorithm flow corresponding to the single algorithm mode and the standardized flow corresponding to the single algorithm mode can be understood as a software code which is developed in a customized manner according to the user requirement.
And if the algorithm mode is a multi-algorithm switching mode, storing the software codes corresponding to the differentiated flows between the algorithm flow corresponding to each algorithm and the standardized flow corresponding to each algorithm in a first class of software code files corresponding to each algorithm in the version management folder aiming at each algorithm in the multi-algorithm. In this embodiment, each algorithm corresponds to one thread resource. Aiming at a plurality of algorithm switching modes, each algorithm in the plurality of algorithms is processed according to a single algorithm mode, and when the multi-algorithm switching mode is started, only thread resources corresponding to one algorithm are supported at the same time. And is set to enable a preset algorithm by default when the software version is shipped from the factory. The predetermined algorithm may be any one of a variety of algorithms.
And if the algorithm mode is a multi-algorithm fusion mode, storing software codes corresponding to the differentiated flow between the algorithm flow corresponding to each algorithm and the standardized flow corresponding to each algorithm and software codes corresponding to the newly-built fusion thread into a first type of software code file corresponding to each algorithm in the version management folder aiming at each algorithm in the multi-algorithm. Aiming at a plurality of algorithm fusion modes, as a plurality of algorithm data are required to be fused, a fusion thread is required to be individually customized and set, a second type of code file and a sustainable function module are provided for a common identification result of the algorithm data of the plurality of algorithms, each algorithm can independently run in the respective algorithm thread, and a first type of software code file (algorithm fusion software code file) corresponding to a differentiated flow is flexibly customized and coded according to the algorithm fusion requirement in the fusion thread. When a plurality of algorithm fusion modes are started, algorithm data are acquired from algorithm threads of each algorithm through fusion threads, and the algorithms or the data of the algorithm threads are subjected to fusion processing.
The different algorithm modes are explained below by way of an example: aiming at a kitchen monitoring scene, a chef cap, whether a person smokes, whether a fire occurs, whether a person makes a call, whether an animal exists and the like need to be identified, and each identification condition corresponds to an algorithm respectively. Different customer requirements may be different, a multi-algorithm switching mode can be used, if animals exist in a kitchen within a period of time, the operation can be switched to use an animal identification algorithm within the period of time, and when animal hidden dangers are solved, other algorithms can be switched back.
For the multi-algorithm fusion mode, if a client wants a monitoring result of the overall situation of the kitchen, the client needs to comprehensively judge various recognition results such as a chef hat, whether a person smokes, whether a fire occurs, whether a person makes a call, whether an animal exists and the like. The fusion thread receives the algorithm data and the recognition result of each algorithm, so as to carry out comprehensive judgment.
In one or more embodiments of the present application, optionally, the differentiation process includes a first type of differentiation process. For the customization process of the first type of differentiation process, the method of this embodiment may further include the steps of:
step a1, receiving a first storage command; the first storage command is used for enabling the sequence of the process nodes in the process indicated by the service demand information and the sequence of the process nodes in the standardized process corresponding to the service demand information to be the same, and storing the software codes corresponding to at least one process node in the first type of software code files corresponding to the first type of differential process when the functions corresponding to at least one process node are different.
Step a2, according to the first storage command, the sequence of the process nodes in the process indicated by the service demand information and the sequence of the process nodes in the standardized process corresponding to the service demand information are the same, the functions corresponding to at least one process node are different, and the software codes corresponding to at least one process node are stored in the first type of software code files corresponding to the first type of differential process.
The first type of differentiated flow refers to at least one flow node in the flow indicated by the service demand information when the flow sequence of the flow node in the flow indicated by the service demand information is the same as the flow sequence of the flow node in the standardized flow corresponding to the service demand information, and the function corresponding to the at least one flow node is different from the function corresponding to the flow node in the standardized flow. Correspondingly, the first type of software code file is used for storing software codes for realizing the functions corresponding to at least one flow node in the process indicated by the service demand information when the flow sequence of the flow node in the process indicated by the service demand information is the same as the flow sequence of the flow node in the standardized process corresponding to the service demand information and the functions corresponding to at least one flow node are different from the functions corresponding to the flow node in the standardized process, namely the functions corresponding to the first type of differentiated process.
Optionally, the first storage command may be input in a command manner, so that the terminal device automatically generates a first type of software code file for storing software codes for implementing functions corresponding to the first type of differential flows according to the first storage command, and stores the software codes for implementing the functions corresponding to the first type of differential flows in the first type of software code file. The first type of software code files are stored in a version management folder of the software version.
Still taking face recognition as an example, the standardized flow corresponding to the face recognition algorithm includes capturing pictures, comparing locally, obtaining personnel information in comparison results, passing voice prompt and other flow nodes. The function corresponding to the flow node of the 'passage voice prompt' in the standardized flow is 'please pass', and the function corresponding to the flow node of the 'passage voice prompt' in the flow indicated by the service demand information of the user is 'name + please pass'. It can be seen that the sequence of the flow of the face recognition algorithm corresponding to the service requirement information is the same as the sequence of the flow nodes in the standardized flow, and only the function corresponding to one of the flow nodes is different.
In one or more embodiments of the present application, optionally, the differentiation process includes a second type of differentiation process. The second type of differentiated flow refers to a flow indicated by the service demand information and/or at least one flow node in the flow indicated by the service demand information when a flow sequence of the flow node in the flow indicated by the service demand information is different from a flow sequence of the flow node in the standardized flow corresponding to the service demand information and/or a function corresponding to the at least one flow node is different from a function of the flow node corresponding to the standardized flow. The customization process for the second type of differentiation process may further include the following steps:
step b1, receiving a second storage command; the second storage command is used for storing the software codes corresponding to the process indicated by the service demand information in a second type of software code file corresponding to a second type of differential process when the sequence of the process indicated by the service demand information is different from the sequence of the process nodes in the standardized process corresponding to the service demand information and/or when the function corresponding to at least one process node is different.
And b2, according to the second storage command, storing the software codes corresponding to the process indicated by the service demand information into a second type of software code file corresponding to a second type of differential process, wherein the process indicated by the service demand information and the process nodes in the standardized process corresponding to the service demand information are in different sequences, and/or when the functions corresponding to at least one process node are different.
The second type of differentiated flow refers to a flow indicated by the service demand information when a flow sequence of a flow node in the flow indicated by the service demand information is different from a flow sequence of a flow node in a standardized flow corresponding to the service demand information, and/or a function corresponding to at least one flow node is different from a function of a corresponding flow node in the standardized flow. Correspondingly, the second type of software code file is used for storing software codes for realizing the functions corresponding to the flows indicated by the service demand information when the flow sequence of the flow nodes in the flows indicated by the service demand information is different from the flow sequence of the flow nodes in the standardized flow corresponding to the service demand information, and/or when the function corresponding to at least one flow node is different from the function corresponding to the flow node in the standardized flow, namely the software codes for realizing the functions corresponding to the second type of differentiated flows.
Optionally, a second storage command may be input in a command manner, so that the terminal device automatically generates a second type software code file for storing software codes for implementing functions corresponding to the second type of differential process according to the second storage command, and stores the software codes for implementing the functions corresponding to the second type of differential process in the second type software code file. The second type of software code files are stored in a version management folder of the software version. The second type of software code files are stored in a version management folder of the software version.
Still taking face recognition as an example, the standardized flow corresponding to the face recognition algorithm includes capturing pictures, locally comparing and obtaining personnel information in comparison results. The flow of the algorithm requirement indication in the service requirement information of the user comprises the steps of capturing pictures, sending the pictures to a server for remote comparison and returning personnel information of a comparison result. It can be seen that when the sequence of the flow of the face recognition algorithm corresponding to the service requirement information and the sequence of the flow nodes in the standardized flow are changed, the software code corresponding to the standardized flow needs to be rewritten in a thread rewriting manner, and the rewritten software code is stored in the second type software code file.
In order to further improve the modularization of the second type software code files corresponding to the standardized flow and the code development efficiency of the system, the system provides the following functional modules and the second type software code files corresponding to the standardized flow for equipment suitable for AI (artificial intelligence) identification.
Fig. 4 is a schematic structural diagram of a device management module according to an embodiment of the present application. As shown in fig. 4, the device management module includes a device manual switching unit 41, a device lifecycle management unit 42, a device data reading and writing unit 43, a device self-detection unit 44, and a device self-recovery unit 45;
the device manual switching unit 41 is connected to the peripheral device model library, can manage the peripheral device model library, integrates the models of the peripheral devices supported by the operating system, and is used for providing a function of manually switching the types of the peripheral devices for a user and restarting and initializing the functions of the external devices for the main device using the operating system. Peripheral devices are also referred to as external devices, and refer to devices other than a computer memory and a Central Processing Unit (CPU). For example, the device connected through the reserved interface such as USB or 485 serial port may be freely plugged or replaced (e.g. USB reader) or a factory-fixed device (e.g. screen) during the use process.
And the device life cycle management unit 42 is configured to control processes of connection, initialization, connection of a data path, disconnection of the data path, and the like of the external device. Wherein the life cycle of the device refers to the process of disconnecting the device from the connection.
And the device data reading and writing unit 43 is configured to provide a data interaction function with the peripheral device for the operating system, including data acquisition, analysis, information feedback, and the like of the peripheral device.
And the device self-detection unit 44 is used for monitoring the connection state of the device and automatically detecting the type of the device. The method can be used for checking abnormal interruption and abnormal connection of the external equipment, monitoring the connection state of the peripheral equipment and detecting the type of the peripheral equipment.
And the device self-recovery unit 45 is configured to provide a function of recovering the normal state of the device in a manner of automatically matching the device type, disconnecting the device from the external device, reconnecting the device when the state of the external device is abnormal and no external operation is performed, and recovering the state of the external device by restarting the external device or the operating system.
Fig. 5 is a schematic structural diagram of a file storage management module according to an embodiment of the present application. As shown in fig. 5, the file storage management module includes a file memory type management unit 51, a file memory region application unit 52, a file memory usage unit 53, a file memory monitoring unit 54, and a file memory self-adjustment unit 55.
The file memory type management unit 51 is configured to create file types for files with different attributes and different sizes. Illustratively, a developer can create file types for one type of file according to actual conditions, so as to facilitate management of the type of file, for example, a video file is large, a photo file is small, and the video file and the photo file can be divided into two types of file types.
The file memory area applying unit 52 is configured to apply for a memory dedicated area for each type of file according to the created file type, so as to reduce memory usage interference between various files, such as storage of a photo file and a video file, increase memory usage rate when a photo file is seen in a short period and interleaved between memories of video files, and be not favorable for storage of a large block of memory when a photo file is seen in a long period, where the photo file affects storage of the video file.
The file memory using unit 53 is configured to automatically apply for a memory block meeting the condition in the type of file memory storage area according to the storage request of each type of file.
The file memory monitoring unit 54 is configured to detect and count a memory space requested by each type of file, for example, a usage rate of the memory space, a memory fragmentation rate, and the like.
The file memory self-adjusting unit 55 is configured to monitor a health status of a memory space applied for each type of file, for example, when a CPU (central processing unit) is idle, a file that is not used for a long time is cleaned, and a memory retention rate is increased by cleaning an invalid cache. For another example, fragments are automatically cleaned, the memory utilization rate is improved, and the health state of the application memory area can be improved aiming at the storage of the small photo files.
Fig. 6 is a schematic structural diagram of a thread/process management module according to an embodiment of the present application. As shown in fig. 6, the thread/process management module includes a process/thread lifecycle management unit 61, a process/thread sub-inheritance unit 62, a process/thread state management unit 63, and an inter-process (or thread) communication management unit 64.
The process/thread lifecycle management unit 61 is configured to provide a process/thread creation method and a closing method for functions such as peripheral devices, algorithm applications, and network communications.
And the process/thread sub inheritance unit 62 is used for creating a new substitute process/thread for the process/thread when the whole process/thread function needs to be customized again in the service development process, and updating the functional content of the process/thread on the basis of keeping the original process/thread code.
And a process/thread state management unit 63 for managing the use condition and the running state of the process/thread created by using the process/thread lifecycle management unit 61. Illustratively, the process/thread state management unit 63 may manage the name of the process/thread created by using the process/thread lifecycle management unit 41, whether sub-inheritance exists, the memory usage, the data throughput, the abnormal interrupt record, and the like, and provide a background query function for a user, so that the user can know the usage and running state of the process/thread.
An inter-process (or thread) communication management unit 64 for providing a data communication function between processes (or threads). Exemplarily, under the scenes of multi-algorithm switching mode, multi-algorithm fusion and the like, the data transmission of mode algorithm data to an algorithm data feedback thread and an algorithm data fusion thread in different algorithm threads can be realized.
Fig. 7 is a schematic structural diagram of a network service module according to an embodiment of the present application. As shown in fig. 7, the network service module includes a network type creating unit 71, a network platform information managing unit 72, a network communication standardizing unit 73, a network communication sub-inheritance unit 74, a network communication data processing and parsing unit 75, and a network communication link analyzing unit 76.
The network type creating unit 71 is configured to automatically integrate resources of each network protocol before use, where the resources of the network protocol before use include, but are not limited to: and generating a network protocol abbreviation, establishing a network communication process/thread, storing a path of a network protocol library and a path of a library function after the network protocol is compiled.
The network platform information management unit 72 is configured to manage an IP address, a port, an encryption protocol type, a secret key, a heartbeat duration, a network interruption continuous transmission state, a connection state of an actual service docking platform of each network protocol, and network platform information such as a session type and a partial interaction function type when the network platform is docked.
The network communication standardization unit 73 is used for constructing a standardization process of a network communication full life cycle, such as network connection, network data receiving and message replying, network state monitoring, network disconnection and the like, by using a protocol library function in the created process/thread; wherein, different network protocol types correspond to different standardized process construction frameworks.
The network communication sub-inheritance unit 74 is used for providing the user with the flow for modifying the network communication according to the actual development service condition, and the network communication sub-inheritance unit can realize the modification of part or all of the functional modules in the network communication flow without influencing the function of the standard flow.
And a network communication data processing and parsing unit 75, configured to perform customized processing and parsing on communication received data received in a standard process/thread or a sub-inheritance process/thread according to actual needs of a service, so as to implement flexible docking of communication data service processing.
And a network communication link analysis unit 76 for analyzing the communication state in the downlink and uplink communication environments, determining the downlink and uplink directions of the communication abnormality, locking the communication abnormality flow, and analyzing the communication quality.
Fig. 8 is a schematic structural diagram of a gui design module according to an embodiment of the present disclosure. As shown in fig. 8, the GUI design module includes a GUI design platform management unit 81, a GUI Interface design docking unit 82, a GUI Interface design management unit 83, and a GUI Interface design inverse transformation unit 84.
And the GUI design platform management unit 81 is configured to manage bottom layer implementation of basic controls such as pages, lines, and frames on different computation force platforms, compilation of 2D acceleration engines on different computation force platforms, paths of 2D acceleration engine code libraries on different computation force platforms, and paths of engine code libraries compiled on different computation force platforms. The GUI design platform management unit 81 can integrate the resources of the 2D acceleration engine and the basic control library under different computing platforms to form the IDE system of the GUI interface designed by the operating system.
The GUI interface design docking unit 82 is used to provide the user with the functionality to drag GUI controls, set properties, and methods in the operating system integrated IDE interface. The GUI interface design unit is the part of the IDE system that is open for use by the user, including the design interface and control library management.
And the GUI interface design management unit 83 is configured to manage parameters such as a computing platform type and a 2D acceleration engine version when GUI interface design items are docked, and switch to different design interfaces of the IDE according to actual service requirements when the items are docked.
And the GUI interface design inverse transformation unit 84 is configured to generate a GUI design code, a GUI interface tag, and a GUI interface file according to the GUI interface design scheme, so as to facilitate subsequent information interaction between the GUI interface and the background and cloud.
Fig. 9 is a schematic structural diagram of an algorithm management module according to an embodiment of the present application. As shown in fig. 9, the algorithm management module includes: an algorithm type creating unit 91, an algorithm mode managing unit 92, an algorithm version managing unit 93, an algorithm standardizing unit 94, an algorithm sub-inheritance unit 95, and an algorithm data feedback unit 96. The algorithm type creating unit 91 is configured to generate a version number for a new algorithm, and manage compilation of an algorithm code library, a path of the algorithm code library on different computing platforms, and a path of the algorithm code library on different computing platforms after compilation.
The algorithm mode management unit 92 is used for building a main body framework of the project docking version algorithm function module, and comprises all thread resources of the algorithm, an algorithm data feedback unit, whether an algorithm data fusion unit is started or not, and communication signals among all threads related to the algorithm.
And the algorithm version management unit 93 is used for managing an algorithm scene type, an algorithm iteration version and various algorithm combinations. Developers can select the algorithm type of the corresponding scene according to business requirements, select a proper algorithm iteration version, and select a multi-algorithm combination version aiming at multi-algorithm scene switching or multi-algorithm data fusion.
And the algorithm standardization unit 94 is used for the developer to construct a standardization process of the algorithm, including sensing data acquisition, data analysis, cross database information association, identification output and the like, according to the algorithm library in the created process/thread. Different standard process construction frames can be set in different algorithm libraries according to the characteristics of the application scene.
And the algorithm sub-inheritance unit 95 is used for modifying the standardized flow of the algorithm by developers according to the service requirement condition of the user. The modification of the functional modules corresponding to part or all of the process nodes in the algorithm identification process can be realized by calling the algorithm sub-inheritance unit, and the functions of the functional modules corresponding to the unmodified process nodes in the standardized process are not influenced.
And the algorithm data feedback unit 96 is used for processing the algorithm identification result according to the service requirement, and the feedback unit has cross-process/thread communication capability and is used for matching with functions of functional modules such as a GUI (graphical user interface) interface, network communication and the like.
Fig. 10 is a schematic structural diagram of a version management module according to an embodiment of the present application. As shown in fig. 10, the version management module includes a computing platform type management unit 101, a multi-algorithm switching management unit 102, a function full-flow sub-inheritance unit 103, and a module sub-inheritance unit 104.
And the computing platform type management unit 101 is used for managing a compiling system, an image processing code library, an image optimization algorithm library and the like of the existing and newly added chips. When a developer selects the computing platform type according to the actual service demand condition, the resource of the computing platform type can be automatically dispatched to shield the system resources of other computing platforms. And performing parallel replacement management on system resources of various computing power platforms, for example, a compiling tool of each computing power platform is stored under a compiling tool module of the operating system, a device driving docking tool of each computing power platform is stored under an operating system driving tool module, and the like. When a developer selects a computing platform type, the developer can continuously designate system resources required by the computing platform such as a compiling tool, a device driving docking tool and the like corresponding to the computing platform type.
The multi-algorithm switching management unit 102 is used for management of multiple algorithm switching or multiple algorithm fusion, supports developers to customize multiple sets of algorithm schemes of cross-scene and cross-perception equipment for equipment, and can support one-equipment algorithm scene multiple use and one-equipment multi-algorithm data fusion. In addition, classification can be carried out according to scenes, iteration version numbers of software and data types of sensing equipment, classification management is carried out on all connected algorithm versions step by step, and development of a single-process/thread single algorithm, a single-process/thread multi-algorithm and a multi-process/thread multi-algorithm is supported. Therefore, flexible docking of a single algorithm, free switching of multiple algorithms and mutual fusion of the multiple algorithms are realized.
The full-process functional sub-inheritance unit 103 is used for replacing and modifying the whole of a certain functional module, when the standardized process of the operating system cannot meet the service requirement, the full-process functional sub-inheritance unit 103 can be called to re-customize all the processes and functional modules of the service requirement, and all the modified differentiated process corresponding codes are uniformly stored in the version management folder of the docking version on the basis of not changing the original standardized process and the software codes corresponding to the functional modules.
And the module sub-inheritance unit 104 is used for replacing and modifying part of the functional modules in a certain functional module. When the standardized flow of the operating system can wholly meet the service requirement, but part of the functional modules are not in accordance with the service requirement, the module sub-inheritance unit can be called to re-customize the different flows and the functional modules, and the codes corresponding to all the modified different flows are uniformly stored in the version management folder of the butt-joint version on the basis of not changing the codes of the original standardized flow and the functional modules.
On the basis of the above method embodiment, fig. 11 is a schematic structural diagram of a software version control apparatus provided in the embodiment of the present application. As shown in fig. 11, the apparatus includes: an acquisition module 111, a generation module 112 and a compiling module 113; the acquiring module 111 is configured to acquire configuration information for creating a new software version; the configuration information comprises an identifier of the software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1; a generating module 112, configured to generate a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code files corresponding to a differentiation process of each service requirement information in the M pieces of service requirement information, wherein the differentiation process is a process different from a corresponding standardization process indicated by each piece of service requirement information; the obtaining module 111 is further configured to obtain a second class software code file corresponding to the standardized process of the M pieces of service requirement information; the compiling module 113 is configured to compile the first type of software code file and the second type of software code file corresponding to the differentiated processes of the M pieces of service requirement information, and generate a software upgrade package of the software version.
In a possible implementation manner, the obtaining module 111 is specifically configured to: and receiving a second class software code file corresponding to the standardized process of the M pieces of service demand information generated by the server according to the configuration information.
In a possible implementation manner, the obtaining module 111 is specifically configured to: receiving a parameter set generated by a server according to the configuration information, wherein the parameter set comprises parameters of software codes corresponding to the standardized processes for generating the M pieces of service demand information; and generating a second class software code file corresponding to the standardized process of the M pieces of service demand information according to the parameter set.
In a possible implementation manner, the obtaining module 111 is specifically configured to: sending a new request of a software version to a server; and returning the generated identifier of the software version according to the new request of the software version.
In a possible implementation manner, the apparatus further includes a display module 114, configured to perform the following steps: displaying configuration interfaces of various computing force platform types according to the acquired creation request of the new software version; displaying configuration interfaces of N algorithm modes related to the target computing force platform type according to the target computing force platform type selected by a user from the multiple computing force platform types; n is an integer greater than or equal to 1; displaying a configuration interface of a plurality of functional requirements associated with the target algorithm mode according to the target algorithm mode selected by a user in the N algorithm modes; the generating module 112 is further configured to generate the configuration information according to the M service requirements selected by the user from the plurality of service requirements, the target computing platform type, and the target algorithm mode.
In one possible implementation, the algorithm mode includes a single algorithm mode, a multiple algorithm switching mode or a multiple algorithm fusion mode; the device also includes: a storage module 115, configured to perform the following steps: if the algorithm mode is a single algorithm mode, storing software codes corresponding to differential processes between the algorithm process corresponding to the single algorithm mode and the standardized process corresponding to the single algorithm mode into a first class of software code files corresponding to the single algorithm mode in the version management folder; if the algorithm mode is a multi-algorithm switching mode, storing software codes corresponding to a differentiation process between an algorithm process corresponding to each algorithm and a standardized process corresponding to each algorithm in a first class of software code files corresponding to each algorithm in the version management folder aiming at each algorithm in the multi-algorithm; and if the algorithm mode is a multi-algorithm fusion mode, storing software codes corresponding to the differentiated flows between the algorithm flow corresponding to each algorithm and the standardized flow corresponding to each algorithm and the software codes corresponding to the newly-built fusion thread into a first type of software code file corresponding to each algorithm in the version management folder aiming at each algorithm in the multi-algorithm.
In one possible implementation, the differentiation process includes a first type of differentiation process or a second type of differentiation process; the storage module 115 is specifically configured to: receiving a first storage command; the first storage command is used for storing the flow indicated by the service demand information and the flow nodes in the standardized flow corresponding to the service demand information in the same sequence, and when the function corresponding to at least one flow node is different, the software code corresponding to the at least one flow node is stored in a first type of software code file corresponding to a first type of differential flow; according to the first storage command, the sequence of the flow indicated by the service demand information is the same as that of flow nodes in a standardized flow corresponding to the service demand information, when the function corresponding to at least one flow node is different, the software code corresponding to the at least one flow node is stored in a first type of software code file corresponding to the first type of differentiated flow; or, receiving a second storage command; the second storage command is used for storing the software codes corresponding to the process indicated by the service demand information in a second type of software code file corresponding to the second type of differentiated process when the sequence of the process indicated by the service demand information is different from the sequence of the process nodes in the standardized process corresponding to the service demand information and/or when the function corresponding to at least one process node is different; and according to the second storage command, storing the software code corresponding to the process indicated by the service demand information in a second type software code file corresponding to the second type differentiated process, wherein the process indicated by the service demand information and the standardized process corresponding to the service demand information are in different sequences, and/or when the function corresponding to at least one process node is different.
It should be understood that, the modules shown in fig. 4 to 10 are packages of the implementation method of the functions provided by the operating system, and the modules shown in fig. 11 may interact with the modules shown in fig. 4 to 10, so as to implement the software version control method described in the foregoing embodiment. For example, the obtaining module 111 and the display module 114 may interact with an algorithm platform type management unit in the version management module, and when the obtaining module 111 obtains a creation request of a new software version, may interact with an algorithm platform type management unit in the version management module to obtain multiple management platform types, and display the management platform types through the display module 114.
The software version control device provided in the embodiment of the present application can be used for implementing the technical scheme of the software version control method in the above embodiments, and the implementation principle and the technical effect are similar, which are not described herein again.
It should be noted that the division of each module of the above apparatus is only a logical division, and all or part of the actual implementation may be integrated into one physical entity or may be physically separated. And these modules can be realized in the form of software called by processing element; or may be implemented entirely in hardware; and part of the modules can be realized in the form of calling software by the processing element, and part of the modules can be realized in the form of hardware. In addition, all or part of the modules can be integrated together or can be independently realized. The processing element here may be an integrated circuit with signal processing capabilities. In implementation, each step of the above method or each module above may be implemented by an integrated logic circuit of hardware in a processor element or an instruction in the form of software.
Fig. 12 is a schematic structural diagram of an electronic device according to an embodiment of the present application. As shown in fig. 12, the electronic device may include: a transceiver 121, a processor 122, a memory 123, and an operating system 124.
The processor 122 executes computer-executable instructions stored in the memory, causing the processor 122 to perform the schemes of the embodiments described above. The processor 122 may be a general-purpose processor including a central processing unit CPU, a Network Processor (NP), and the like; but also a digital signal processor DSP, an application specific integrated circuit ASIC, a field programmable gate array FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components.
Memory 123 is coupled to processor 122 via a system bus and communicates with each other, and memory 123 is used for storing computer program instructions.
The transceiver 121 may be used to retrieve the second type of software code file and to submit the first type of software code file to the server.
The operating system 124, which may provide the methods or functional blocks of the above embodiments, cooperates with the transceiver 121, the processor 122 and the memory 123 to implement the software version control method.
The system bus may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The system bus may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus. The transceiver is used to enable communication between the database access device and other computers (e.g., clients, read-write libraries, and read-only libraries). The memory may include Random Access Memory (RAM) and may also include non-volatile memory (non-volatile memory).
The electronic device provided by the embodiment of the application may be the terminal device of the above embodiment.
The embodiment of the application also provides a chip for running the instructions, and the chip is used for executing the technical scheme of the software version control method in the embodiment.
The embodiment of the present application further provides a computer-readable storage medium, where a computer instruction is stored in the computer-readable storage medium, and when the computer instruction runs on a computer, the computer is enabled to execute the technical solution of the software version control method in the foregoing embodiment.
The embodiment of the present application further provides a computer program product, where the computer program product includes a computer program, which is stored in a computer-readable storage medium, and at least one processor can read the computer program from the computer-readable storage medium, and when the at least one processor executes the computer program, the at least one processor can implement the technical solution of the software version control method in the foregoing embodiment.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It will be understood that the present application is not limited to the precise arrangements that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (11)

1. A software version control method, comprising:
acquiring configuration information for creating a software version; the configuration information comprises an identifier of the software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1;
generating a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code file corresponding to a differentiated flow of each service requirement information in the M pieces of service requirement information, wherein the differentiated flow is different between a flow indicated by each piece of service requirement information and a corresponding standardized flow; the standardized flow is a preset general flow aiming at the service demand information;
acquiring second class software code files corresponding to the standardized processes of the M pieces of service demand information;
compiling the first class software code files and the second class software code files corresponding to the differentiation processes of the M pieces of business requirement information to generate a software upgrading package of the software version.
2. The method according to claim 1, wherein the obtaining, according to the configuration information, a second class software code file corresponding to the standardized process of the M pieces of service requirement information includes:
and receiving a second class software code file corresponding to the standardized process of the M pieces of service demand information generated by the server according to the configuration information.
3. The method according to claim 1, wherein the obtaining, according to the configuration information, a second class software code file corresponding to the standardized process of the M pieces of service requirement information includes:
receiving a parameter set generated by a server according to the configuration information, wherein the parameter set comprises parameters of software codes corresponding to the standardized processes for generating the M pieces of service demand information;
and generating a second class software code file corresponding to the standardized process of the M pieces of service demand information according to the parameter set.
4. A method according to any of claims 1-3, wherein the identification of the software version is obtained according to the following method:
sending a new request of a software version to a server;
and returning the generated identifier of the software version according to the new request of the software version.
5. The method according to any one of claims 1 to 3, wherein the obtaining configuration information for new creation of a software version comprises:
displaying configuration interfaces of various computing force platform types according to the acquired creation request of the new software version;
displaying configuration interfaces of N algorithm modes related to the target computing power platform type according to the target computing power platform type selected by a user from the multiple computing power platform types; n is an integer greater than or equal to 1;
displaying a configuration interface of a plurality of functional requirements associated with the target algorithm mode according to the target algorithm mode selected by a user in the N algorithm modes;
and generating the configuration information according to M service requirements selected by a user from the service requirements, the type of the target computing force platform and the target algorithm mode.
6. The method according to any one of claims 1-3, wherein the algorithm mode comprises a single algorithm mode, a plurality of algorithm switching modes, or a plurality of algorithm fusing modes;
if the algorithm mode is a single algorithm mode, storing software codes corresponding to differentiated processes between the algorithm process corresponding to the single algorithm mode and the standardized process corresponding to the single algorithm mode into a first class of software code files corresponding to the single algorithm mode in the version management folder;
if the algorithm mode is a multi-algorithm switching mode, storing software codes corresponding to a differentiation process between an algorithm process corresponding to each algorithm and a standardized process corresponding to each algorithm in a first class of software code files corresponding to each algorithm in the version management folder aiming at each algorithm in the multi-algorithm;
and if the algorithm mode is a multi-algorithm fusion mode, storing software codes corresponding to the differentiated flow between the algorithm flow corresponding to each algorithm and the standardized flow corresponding to each algorithm and software codes corresponding to the newly-built fusion thread into a first type of software code file corresponding to each algorithm in the version management folder aiming at each algorithm in the multi-algorithm.
7. The method of claim 6, wherein the differentiation process comprises a first type of differentiation process or a second type of differentiation process; the method further comprises the following steps:
receiving a first storage command; the first storage command is used for enabling the sequence of the flow indicated by the service demand information to be the same as that of flow nodes in a standardized flow corresponding to the service demand information, and storing software codes corresponding to at least one flow node in a first type of software code file corresponding to a first type of differentiated flow when functions corresponding to at least one flow node are different;
according to the first storage command, the sequence of the flow indicated by the service demand information is the same as that of flow nodes in a standardized flow corresponding to the service demand information, when the function corresponding to at least one flow node is different, the software code corresponding to the at least one flow node is stored in a first type of software code file corresponding to the first type of differentiated flow;
or,
receiving a second storage command; the second storage command is used for storing the software codes corresponding to the process indicated by the service demand information into a second type of software code file corresponding to the second type of differential process when the sequence of the process indicated by the service demand information is different from the sequence of the process nodes in the standardized process corresponding to the service demand information and/or the function corresponding to at least one process node is different;
and according to the second storage command, storing the software codes corresponding to the process indicated by the service demand information in a second type of software code file corresponding to the second type of differential process, wherein the sequence of the process indicated by the service demand information is different from the sequence of the process nodes in the standardized process corresponding to the service demand information, and/or the function corresponding to at least one process node is different.
8. A software version control apparatus, comprising:
the acquisition module is used for acquiring configuration information for newly building a software version; the configuration information comprises an identifier of the software version, a computing platform type, an algorithm mode and M pieces of service requirement information, wherein M is an integer greater than or equal to 1;
the generation module is used for generating a version management folder of the software version according to the identifier of the software version; the version management folder is used for storing a first type of software code file corresponding to a differentiated flow of each service requirement information in the M pieces of service requirement information, wherein the differentiated flow is different between a flow indicated by each piece of service requirement information and a corresponding standardized flow;
the acquisition module is further used for acquiring second class software code files corresponding to the standardized flows of the M pieces of service demand information;
and the compiling module is used for compiling the first class software code files and the second class software code files corresponding to the differentiation processes of the M pieces of business requirement information to generate the software upgrading package of the software version.
9. An electronic device, comprising: a processor, and a memory and an operating system communicatively coupled to the processor;
the memory stores computer-executable instructions;
invoking, by the operating system, the processor to cause the processor to execute the memory-stored computer-executable instructions to implement the method of any of claims 1-7.
10. A computer-readable storage medium having computer-executable instructions stored therein, which when executed by a processor, are configured to implement the method of any one of claims 1-7.
11. A computer program product, characterized in that it comprises a computer program which, when being executed by a processor, carries out the method of any one of claims 1 to 7.
CN202211158754.0A 2022-09-22 2022-09-22 Software version control method, device, equipment and storage medium Pending CN115658134A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211158754.0A CN115658134A (en) 2022-09-22 2022-09-22 Software version control method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211158754.0A CN115658134A (en) 2022-09-22 2022-09-22 Software version control method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115658134A true CN115658134A (en) 2023-01-31

Family

ID=84984660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211158754.0A Pending CN115658134A (en) 2022-09-22 2022-09-22 Software version control method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115658134A (en)

Similar Documents

Publication Publication Date Title
US10725769B2 (en) Automated deployment and servicing of distributed applications
CN107391114B (en) Page visual rendering method and device
US10042628B2 (en) Automated upgrade system for a service-based distributed computer system
US20060037016A1 (en) Methods and systems for modifying nodes in a cluster environment
US20090249284A1 (en) Automation for virtualized it environments
CN111984269B (en) Method for providing application construction service and application construction platform
US20080140760A1 (en) Service-oriented architecture system and methods supporting dynamic service provider versioning
US20150212812A1 (en) Declarative and pluggable business logic for systems management
US20150220325A1 (en) Agile framework for vertical application development and delivery
US20170364844A1 (en) Automated-application-release-management subsystem that supports insertion of advice-based crosscutting functionality into pipelines
US11301262B2 (en) Policy enabled application-release-management subsystem
CA2904253C (en) Computer system using in-service software upgrade
CN104978172A (en) Integrated management and control method, system and equipment of SDN (Software Defined Networking) applications
CN114531477B (en) Method and device for configuring functional components, computer equipment and storage medium
Zhu et al. If docker is the answer, what is the question?
US20090044186A1 (en) System and method for implementation of java ais api
US9626251B2 (en) Undo configuration transactional compensation
US20220182851A1 (en) Communication Method and Apparatus for Plurality of Administrative Domains
JP2007527562A (en) How to manage software components integrated into an embedded system
CN113626095A (en) Switching method and switching system of configuration center, electronic equipment and storage medium
KR101899298B1 (en) Processing system for automation of cloud and process operating based virtual environment and processing method thereof
CN115658134A (en) Software version control method, device, equipment and storage medium
CN111290818A (en) Operation method for creating application program and operation method for application program
CN115904732A (en) Cluster management method and device, electronic equipment and storage medium
CN116166394A (en) Task execution method, device, system, storage medium and processor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination