CN104573526B - Software product multi version management method, device and computer equipment - Google Patents
Software product multi version management method, device and computer equipment Download PDFInfo
- Publication number
- CN104573526B CN104573526B CN201410829005.5A CN201410829005A CN104573526B CN 104573526 B CN104573526 B CN 104573526B CN 201410829005 A CN201410829005 A CN 201410829005A CN 104573526 B CN104573526 B CN 104573526B
- Authority
- CN
- China
- Prior art keywords
- software product
- version
- information
- manage
- compiler
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
The invention provides a kind of software product multi version management method, device and computer equipment, software product multi version management method therein includes:Obtain the software product release information for needing to manage;All compiler toggle information for needing the software product managed to be included are determined according to the corresponding relation of the software product release information pre-set and compiler toggle change information;The program according to corresponding to all compiler toggle information determination that the software product of the respective version for needing to manage is included needs the software product of the respective version managed, and operation is managed to described program;Wherein, the compiler toggle information that the compiler toggle change information differs for the compiler toggle that is included with the software product of first version.Above-mentioned technical proposal provided by the invention improves the manageability for the software product for being related to multiple versions.
Description
Technical field
The present invention relates to technical field of software development, more particularly, to a kind of software product multi version management method, software
Product multi version managing device and computer equipment.
Background technology
Software product is often related to multiple versions.The main cause that software product produces multiple versions is usually:
In the case of the defects of software product for finding to have released is present, Software Development side often releases the software product
Redaction, the defects of to be had been observed that present in the software product of version before elimination.
It is especially a fairly large number of in the version involved by software product in the case where software product is related to multiple versions
In the case of, compiling speed of the software product multi version management for the construction cycle of software product, development cost and software product
All it is very important for degree etc. is many-sided.At present, the management of software product multi version can include:Into certain of software product
The program code repairing environment of individual version and to the program code after reparation be compiled processing etc..
Inventor has found in process of the present invention is realized, how fast and accurately into the indicated release of software product
Program code repairing environment and how quick process of compilation etc. is carried out to the program code after reparation, be software product
Key issue in multi version management.
The content of the invention
Present invention solves the technical problem that one of be, improve be related to multiple versions software product manageability.
One embodiment according to an aspect of the present invention, there is provided a kind of software product multi version management method, this method
Including:Obtain the software product release information for needing to manage;According to the software product release information and compiler toggle pre-set
The corresponding relation of change information determines all compiler toggle information for needing the software product managed to be included;According to described
All compiler toggle information that the software product for the respective version for needing to manage is included determine the corresponding version for needing to manage
Program corresponding to this software product, and operation is managed to described program;Wherein, the compiler toggle change information be with
The compiler toggle information that the compiler toggle that the software product of first version is included differs.
One embodiment according to a further aspect of the present invention, there is provided a kind of software product multi version managing device, the dress
Put including:Version information module is obtained, suitable for obtaining the software product release information for needing to manage;Compiler toggle module is determined,
Suitable for being determined described to need pipe according to the corresponding relation of the software product release information that pre-sets and compiler toggle change information
All compiler toggle information that the software product of reason is included;Multi version management module, suitable for according to the phase for needing to manage
All compiler toggle information for answering the software product of version to be included determine the software product of the respective version for needing to manage
Corresponding program, and operation is managed to described program;Wherein, the compiler toggle change information is soft with first version
The compiler toggle information that the compiler toggle that part product is included differs.
One embodiment in accordance with a further aspect of the present invention, additionally provide a kind of computer equipment, including foregoing clothes
Business end real-time monitoring device.
Corresponding relation of the invention by pre-setting software product release information and compiler toggle change information, can be with base
In the convenient all compiler toggles accurately determined the software product of any indicated release and included of the corresponding relation, realize
Compiler toggle increment management based on software product release, and all volumes that the software product of respective version can be utilized to be included
The program that switch conveniently determines the software product of respective version is translated, so as at any time fast and accurately to any finger
The program for determining the software product of version is managed operation, such as can fast and accurately enter the software product of any indicated release
Program code repairing environment, can carry out quick process of compilation etc. to the program code after reparation for another example;The final present invention carries
The manageability of the high software product for being related to multiple versions.
Those of ordinary skill in the art will be appreciated that although referenced in schematic embodiment and accompanying drawing are entered in following detailed description
OK, but the present invention is not limited in these embodiments.But the scope of the present invention is extensive, and it is intended to be bound only by appended
Claim limits the scope of the present invention.
Brief description of the drawings
By reading the detailed description made to non-limiting example made with reference to the following drawings, of the invention is other
Feature, objects and advantages will become more apparent upon:
Fig. 1 is the flow chart of software product multi version management method according to an embodiment of the invention;
Fig. 2 is software product multi version managing device schematic diagram in accordance with another embodiment of the present invention.
Embodiment
The present invention is described in further detail below in conjunction with the accompanying drawings.
Fig. 1 is the flow chart of the software product multi version management method of the embodiment of the present invention one.The method master of embodiment one
If completed by the operating system in computer equipment or processing controller.Can be by the operating system in computer equipment
Or processing controller is referred to as software product multi version managing device.The computer equipment includes but is not limited to following at least one
It is individual:The clothes for calculating unit, single network server, multiple webservers and forming of single computer, multiple stage computers composition
Device group of being engaged in and the cloud being made up of a large amount of computers or the webserver based on cloud computing;Wherein, cloud computing is distributed meter
One kind of calculation, a super virtual computer being made up of the computer collection of a group loose couplings.
Embodiment one, software product multi version management method.
In Fig. 1, S100, the software product release information for needing to manage is obtained.
Specifically, the software product in the present embodiment is the software product for being related to multiple versions, i.e., it is soft in the present embodiment
Part product has multiple different versions.Each version of the software product is corresponding with a software product release information,
And software product release information should be able to unique mark go out the software product of a particular version, the software production of different editions
Software product release information should differ corresponding to product.
Software product release information in the present embodiment can be represented in the form of decimal, can also use the shape of integer
Formula represents, the forms such as letter character can also be used to represent, it is of course also possible to use decimal/integer mixes with letter character
Form represents.
The present embodiment can obtain the software product release information for needing to manage by keyboard entry method, such as certain software
Version information input frame is shown in product multi version administration interface, keyboard Input Software product in the input frame can be utilized
Version information (such as input 5.0).The present embodiment can also click mode to obtain the software product version for needing to manage by mouse
This information, as the version information input frame of certain software product multi version administration interface drop-down menu in include the software product
All version informations, can utilize mouse select a version information.Certainly, the present embodiment can also using other modes come
Obtaining needs the software product release information that manages, for example, by internet information transmission means come obtain need to manage it is soft
Part product version information etc..
The present embodiment does not limit the specific representation of software product release information and obtains the software production for needing to manage
The specific implementation of product version information.
The software product release information and the corresponding relation of compiler toggle change information that S110, basis are pre-set determine need
All compiler toggle information that the software product for the respective version to be managed is included.
Specifically, the compiler toggle in the present embodiment is referred to as functional switch, One function switch generally corresponding one
Section program code, and certain function can generally be realized by this section of program code.
If the software product of a version includes certain functional switch, the software product of the version includes the function
Program code corresponding to switch, i.e., program code be able to should be held in the software product operation of the version corresponding to the functional switch
OK;If the software product of a version does not include certain functional switch, the software product of the version does not simultaneously include the work(
Program code corresponding to switching, i.e., program code would not in the software product operation of the version corresponding to the functional switch
It is performed.
The corresponding relation of software product release information and compiler toggle change information is previously provided with the present embodiment, this is right
Should be related to can include the corresponding relation of software product release information and increased compiler toggle information;The corresponding relation can be with
Including software product release information and the corresponding relation for the compiler toggle information deleted.The compiler toggle information of above-mentioned deletion also may be used
To be referred to as the compiler toggle information for the compiler toggle information or reduction deleted.
The corresponding relation of the software product release information that is pre-set in the present embodiment and compiler toggle change information can be with
The simple and clear software product for reflecting some version for the software product of first version, what both were included
Difference between compiler toggle;Compiler toggle change information i.e. in the present embodiment is is included with the software product of first version
The compiler toggle information that differs of compiler toggle.That is, the software product release information in the present embodiment is opened with compiling
Closing the corresponding relation of change information can clearly reflect the posterior software product of version in the first software product institute of version
Comprising compiler toggle on the basis of increase newly compiler toggle information and deletion compiler toggle information.
Because the present embodiment is increased compiler toggle and the volume of deletion between the software product for different editions
Translate on the basis of switch is managed, to realize software product multi version management, therefore, more editions of the software product of the present embodiment
This management is properly termed as the software product multi version management by version increment management based on compiler toggle.Here compiler toggle is pressed
Version increment management generally includes compiler toggle by the positive increment management of version and compiler toggle by version negative increment management.Compiling
Switch is referred on the basis of the first software product of version by the positive increment management of version, is increased newly in the software product of rear version
The management of the compiler toggle added;Compiler toggle refers on the basis of the first software product of version by version negative increment management,
In the management for the compiler toggle that the software product of rear version is deleted/deleted.
The software product release information of the present embodiment and the software product version in the corresponding relation of compiler toggle change information
This information can be the version information of a specific version, or a version information scope.It is soft in corresponding relation
In the case that part product version information is version information scope, the software product of first version be usually with version information scope
The adjacent first version of minimum version software product.It is of course also possible to for the minimum version in version information scope not
The software product of adjacent first version.Specifically although signified difference may result in and pre-sets the software product of first version
Corresponding relation particular content it is different, still, what the corresponding relation generally can be simple and clear reflects first version
This software product and the difference between the compiler toggle that both software products of rear version are included.
It is adjacent with the minimum version in version information scope that the present embodiment can pre-set software product release information
First version all compiler toggles for being included of software product on the basis of increased compiler toggle information corresponding relation.
The present embodiment can also pre-set first adjacent with the minimum version in version information scope of software product release information
The corresponding relation for the compiler toggle information deleted on the basis of all compiler toggles that the software product of version is included.
Software product release information and the corresponding relation of compiler toggle change information in the present embodiment can pass through case
The form of sentence is set;The present embodiment sets a specific example of above-mentioned corresponding relation as follows using case statement:
The current highest version number of a software product is set as 6.1, and other versions currently also be present in the software product, such as
6.0 editions, 5.9 editions, 5.8 editions, 5.7 editions, 5.6 editions, 5.5 editions, 5.4 editions, 5.3 editions, 5.2 editions, 5.1 editions and 5.0 editions;6.1 editions
Software product release information is 6100, the software product release information of other editions is respectively 6000,5900,5800,5700,
5600th, 5500,5400,5300,5200,5100 and 5000;Under conditions of above-mentioned setting, the present embodiment can be in script text
It is defined as below in part:
// new version defines compiler toggle herein
#if APP_VERSION > 6000
#de fine APP_FEATURE_J
#define APP_FEATURE_K
#endif
#if APP_VERSION > 5900
#define APP_FEATURE_H
#define APP_FEATURE_I
#endif
#if APP_VERSION > 5000
#define APP_FEATURE_A
#define APP_FEATURE_B
#endif
// cancel switch definition after this
#if APP_VERSION > 5200&&APP_VERSION < 5500
#undef APP_FEATURE_G
#endif
// script terminates
The concrete meaning of case statement in above-mentioned script file is:For a specific software product, if
The version information of the software product is higher than 6000, then includes compiler toggle J and compiling in the program of the software product of the version
Switch K;If software product release information is higher than 5900, include compiler toggle H in the program of the software product of the version
With compiler toggle I;......;If software product release information is higher than 5000, wrapped in the program of the software product of the version
Contain compiler toggle A and compiler toggle B;If software product release information is higher than 5200 and software product release information is simultaneously low
In 5500, then not including in the program of the software product of the version has compiler toggle G, i.e. software product release information belongs to Kai Qu
Between software product in the range of 5200 to 5500 program in be not in compiler toggle G.
It should be strongly noted that above-mentioned software product release information illustrates by taking open interval as an example, and it is above-mentioned
The software product release information of open interval form can also replace with the software product release information of closed interval form.
The present embodiment can also utilize the other manner in addition to above-mentioned case statement to set software product release information
With the corresponding relation of compiler toggle change information, the corresponding relation etc. such as is set using table or text mode.This implementation
Example does not limit software product release information and the specific set-up mode of the corresponding relation of compiler toggle change information.
The present embodiment can close according to software product release information set in advance is corresponding with compiler toggle change information
It is all compiler toggle information that the software product of the respective version for determining to need to manage of accurate quick is included;It is continuous foregoing
Case statement example, the present embodiment can accurately determine according to the case statement in above-mentioned script is convenient:Version number
Include in program for 6.1 software product compiler toggle J, compiler toggle K, compiler toggle H, compiler toggle I ...,
Compiler toggle A and compiler toggle B;Version number is to include compiler toggle H, compiler toggle in the program of 6.0 software product
I ..., compiler toggle A and compiler toggle B;Version number is to include compiler toggle A in the program of 5.1 software product
And compiler toggle B;Do not include in the program for the software product that the software product or version number that version number is 5.3 are 5.4 and compile
Translate switch G.
All compiler toggle information that S120, the software product of the respective version managed as needed are included determine needs
Program corresponding to the software product of the respective version of management, and operation is managed to the program.
Specifically, it is generally the case that in the program of the first version of a software product and do not include compiler toggle, and it is follow-up
The software product of version is typically by increasing compiler toggle and deleting compiling in the program of the first version of the software product
The mode of switch forms the program of the software product of respective version.The program of first version is referred to as basic function switch.
All compiler toggles that the software product for the respective version that the present embodiment can manage as needed first is included
Information determines to need the program corresponding to the software product of respective version managed, then, the software product managed needs
Corresponding program is managed operation;If by being needed using the software product release Information locating for needing to manage for the present embodiment
The process for all compiler toggles that the software product to be managed is included is referred to as the one-level management control of the program of software product, then
All compiler toggles included using software product of the present embodiment position the software product of respective version for needing to manage
The process of corresponding program is properly termed as the two level management control of the program of software product.
One-level management control in the present embodiment can be and the two level management control based on software product release information realization
System can be realized based on compiler toggle.It is based in addition, the present embodiment be able to can be embedded in two level management control process
The program management control of software product release information, that is to say, that the present embodiment, can be with above-mentioned two level management control process
Realized based on compiler toggle, be also based on compiler toggle and software product release realize (not only need to use compiler toggle,
Also need to use software product release information).
One specific example, it is corresponding in all compiler toggles that the software product for the respective version for needing to manage is included
Program in be provided with version restrictive condition in the case of, software product release information that the present embodiment should manage as needed with
And all compiler toggle information that the software product of respective version managed is included are needed to determine to need the software production managed
Program corresponding to product, and program corresponding to the software product managed needs is managed operation;For example, the present embodiment is utilizing
All compiler toggles that the software product release Information locating that needs to manage needs the software product managed to be included realize
After one-level management control, other compiler toggles of shielding in addition to above-mentioned all compiler toggles in the program of the software product
Corresponding program, then, then version restrictive condition whether is provided with the program checked after shielding, if being provided with version limit
Condition processed, then check whether respective version that needs manage meets version restrictive condition, and aperture form a version restrictive condition
Program, shielding are not inconsistent the program of form a version restrictive condition, realize that two level management controls;From the description of the example, in two level
In management control process, software product release information that compiler toggle and needs that program is included manage, which is nested together, to be made
With.
In the present embodiment, the management operation that program corresponding to the software product of the respective version managed needs is carried out can
Can also be specially that respective version is somebody's turn to do to be specially the program code repairing environment into the software product of respective version
The program code of software product is compiled processing operation;It can also be specially the program into the software product of respective version
Code programming environment.Certainly, the pipe that program corresponding to the software product of the respective version managed needs of the present embodiment is carried out
Reason operation can also be that the management using the program of the software product of respective version as the other forms of operation object operates, herein not
Another one illustrates.
Determination in the present embodiment needs program corresponding to the software product of the respective version managed, and needs are managed
First specific example that program corresponding to the software product of respective version is managed operation be:To include software production
Program based on the program of the compiler toggle of all versions of product, to the respective version managed except needs in Basic application
Other compiler toggles outside all compiler toggles that software product is included carry out shielding processing, and repair ring in software product
Presented in border and carried out the program after shielding processing, that is, the program code shielded will not be shown, the program generation not shielded
Code is displayed to user, so as to which the program code repairing environment of the respective version of the software product is presented into user (as safeguarded
Personnel).
Determination in the present embodiment needs program corresponding to the software product of the respective version managed, and needs are managed
Second specific example that program corresponding to the software product of respective version is managed operation be:Will need manage it is corresponding
All compiler toggle information that the software product of version is included are supplied to compiling system, by compiling system to include the software
Program based on the program of the compiler toggle of all versions of product, to the respective version managed except needs in Basic application
All compiler toggles for being included of software product outside other compiler toggles carry out shielding processing, and judge at this shielding
Compared with program during previous with the version compiling of program after reason, to determine the scope of this compiling, and carry out corresponding
Process of compilation.The compiling mode of the present embodiment generates macrodefinition and this text by allocation list relative to before compiling in header file
For the compiling mode that part is quoted by PCH, it is required for updating allocation list and every when avoiding each edition upgrading
Phenomena such as whole file compiling is all carried out during secondary compiling, reduces the development amount of software product, and shortens compilation time, most
The development efficiency of software product is improved eventually.
Determination in the present embodiment needs program corresponding to the software product of the respective version managed, and needs are managed
The 3rd specific example that program corresponding to the software product of respective version is managed operation be:To include software production
Program based on the program of the compiler toggle of all versions of product, to the respective version managed except needs in Basic application
Other compiler toggles outside all compiler toggles that software product is included carry out shielding processing;Then, shielding processing is checked
Version restrictive condition whether is provided with program corresponding to remaining compiler toggle afterwards, if being provided with version restrictive condition,
Then check whether the respective version that needs manage meets the version restrictive condition, the program of aperture form a version restrictive condition, screen
Cover the program for not being inconsistent form a version restrictive condition;After program corresponding to all remaining compiler toggles has been checked, produced in software
In product repairing environment present carried out the program after foregoing shielding processing, that is, the program code shielded will not be shown, not by
The program code of shielding is displayed to user, so as to which the program code repairing environment of the respective version of the software product be presented to
User (such as attendant).
Determination in the present embodiment needs program corresponding to the software product of the respective version managed, and needs are managed
The 4th specific example that program corresponding to the software product of respective version is managed operation be:Will need manage it is corresponding
All compiler toggle information that the software product of version is included are supplied to compiling system, by compiling system to include the software
Program based on the program of the compiler toggle of all versions of product, to the respective version managed except needs in Basic application
All compiler toggles for being included of software product outside other compiler toggles carry out shielding processing, afterwards, compiling system is looked into
See after shielding processing and whether be provided with version restrictive condition in program corresponding to remaining compiler toggle, if being provided with version
Restrictive condition, then compiling system check whether respective version that needs manage meets the version restrictive condition, compiling system retains
Meet the program of version restrictive condition, and shield the program for not being inconsistent form a version restrictive condition;Checked in compiling system all surplus
After program corresponding to remaining compiler toggle, judge that program during previous with the version compiling of the program after this shielding processing is entered
Row compares, and to determine the scope of this compiling, and carries out corresponding process of compilation.The present embodiment can not only avoid each version
It is required for all carrying out the phenomenon of whole file compiling during upgrading when updating allocation list and every time compiling, moreover, it is also possible to avoid
When not being related to the change of compiler toggle and only relating to the adjustment of the program code in compiler toggle, whether the modification of program code needs
With the circumstances of the dilemma of grand control;Further increase the development efficiency of software product.
Process in the present embodiment into program repairing environment can combine with compilation process, as described above first tool
The example of body can be used in combination with above-mentioned second specific example or the 4th specific example;And the above-mentioned 3rd
Individual specific example can also be used in combination with above-mentioned second specific example or the 4th specific example, so as to
It can realize that the software product of respective version is compiled after bug reparations are carried out, the software of a redaction may finally be formed
The executable file of product.
The software product of the respective version of above-mentioned needs management can be the software product for the respective version issued;One
Individual specific example, it is issued in 5.0 versions of a software product, and software production has been put into software developer
In the case of in the program development of 5.1 versions of product, if it find that 5.0 online versions have serious bug, then it can pass through
APP_VERSION is revised as 5000, and quickly entered in the reparation bug environment of 5.0 versions.
Embodiment two, software product multi version managing device.
The structure of the software product multi version managing device of the present embodiment is as shown in Figure 2.
In Fig. 2, software product multi version managing device includes:Obtain version information module 200, determine compiler toggle module
210 and multi version management module 220.
Version information module 200 is obtained to be primarily adapted for obtaining the software product release information that needs manage.
Specifically, the software product in the present embodiment is the software product for being related to multiple versions, i.e., it is soft in the present embodiment
Part product has multiple different versions.Each version of the software product is corresponding with a software product release information,
And software product release information should be able to unique mark go out the software product of a particular version, the software production of different editions
Software product release information should differ corresponding to product.
Software product release information in the present embodiment can be represented in the form of decimal, can also use the shape of integer
Formula represents, the forms such as letter character can also be used to represent, it is of course also possible to use decimal/integer mixes with letter character
Form represents.
The software product release for needing to manage can be obtained by way of input through keyboard by obtaining version information module 200
Information, for example, showing version information input frame in certain software product multi version administration interface, user can utilize keyboard at this
Input Software product version information (such as input 5.0) in input frame, so that obtaining version information module 200 and obtaining needs to pipe
The software product release information of reason.
The software product version for needing to manage can also be obtained by way of mouse clicks by obtaining version information module 200
This information, as the version information input frame of certain software product multi version administration interface drop-down menu in include the software product
All version informations, user can utilize mouse to select a version information, be obtained so that obtaining version information module 200
Need the software product release information of management.Certainly, obtaining version information module 200 can also be obtained using other modes
The software product release information managed is needed, is obtained for example, obtaining version information module 200 by internet information transmission means
Take software product release information that needs manage etc..
The present embodiment does not limit the specific representation of software product release information and obtains version information module 200 and obtains
Take the specific implementation for the software product release information that needs manage.
Determine that compiler toggle module 210 is primarily adapted for becoming according to the software product release information pre-set and compiler toggle
The corresponding relation for changing information determines all compiler toggle information that the software product for the respective version that needs manage is included.
Specifically, the compiler toggle in the present embodiment is referred to as functional switch, One function switch generally corresponding one
Section program code, and certain function can generally be realized by this section of program code.
If the software product of a version includes certain functional switch, the software product of the version includes the function
Program code corresponding to switch, i.e., program code be able to should be held in the software product operation of the version corresponding to the functional switch
OK;If the software product of a version does not include certain functional switch, the software product of the version does not simultaneously include the work(
Program code corresponding to switching, i.e., program code would not in the software product operation of the version corresponding to the functional switch
It is performed.
Determine to be previously provided with pair of software product release information and compiler toggle change information in compiler toggle module 210
It should be related to, the corresponding relation can include the corresponding relation of software product release information and increased compiler toggle information;This is right
Should be related to can also include software product release information and the corresponding relation for the compiler toggle information deleted.The compiling of above-mentioned deletion
Switching information is referred to as the compiler toggle information deleted or the compiler toggle information of reduction.
Determine pair of the software product release information and compiler toggle change information pre-set in compiler toggle module 210
Should be related to can with the simple and clear software product for reflecting some version for the software product of first version, two
Difference between the compiler toggle that person is included;Determine the compiler toggle change information in compiler toggle module 210 be with
The compiler toggle information that the compiler toggle that the software product of first version is included differs.That is, determine compiler toggle mould
Software product release information and the corresponding relation of compiler toggle change information in block 210 can clearly reflect version rear
Software product on the basis of the compiler toggle that the first software product of version is included increase newly compiler toggle information and
The compiler toggle information of deletion.
Because the present apparatus is the compiling of increased compiler toggle and deletion between the software product for different editions
Switch realizes software product multi version management on the basis of being managed, therefore, the software product multi version pipe of the present embodiment
Reason device is properly termed as the software product multi version managing device based on compiler toggle by version increment management.Here compiling is opened
Close and generally include compiler toggle by the positive increment management of version and compiler toggle by version negative increment management by version increment management.
Compiler toggle is referred on the basis of the first software product of version by the positive increment management of version, in the software product institute of rear version
The management of the compiler toggle newly increased;Compiler toggle is referred on the basis of the first software product of version by version negative increment management
On, in the management for the compiler toggle that the software product of rear version is deleted/deleted.
In the corresponding relation for determining the software product release information and compiler toggle change information in compiler toggle module 210
Software product release information can be specific version version information, or a version information scope.True
In the case that the software product release information translated in corresponding relation in switch module 210 of delimiting the organizational structure is version information scope, formerly
The software product of version is usually the software product of the first version adjacent with the minimum version in version information scope.Certainly,
It can also be the software product with the non-conterminous formerly version of the minimum version in version information scope.Although first version is soft
Part product specifically signified difference may result in the corresponding relation pre-set particular content it is different, still, this is corresponding
Relation generally can be simple and clear both the software product for reflecting first version and the software product in rear version wrapped
Difference between the compiler toggle contained.
Determine that software product release information can be pre-set in compiler toggle module 210 and in version information scope
Increased compiler toggle letter on the basis of all compiler toggles that the software product of the adjacent first version of minimum version is included
The corresponding relation of breath.Determine that software product release information can also be pre-set in compiler toggle module 210 and in version information
The volume deleted on the basis of all compiler toggles that the software product of the adjacent first version of minimum version in scope is included
Translate the corresponding relation of switching information.
Determine that the corresponding relation of software product release information in compiler toggle module 210 and compiler toggle change information can
Set in the form of by case statement;Determine compiler toggle module 210 and above-mentioned corresponding relation is set using case statement
A specific example such as above-mentioned embodiment one in description, be not repeated.
Determine that compiler toggle module 210 can also utilize the other manner in addition to case statement to set software product version
This information and the corresponding relation of compiler toggle change information, such as set the corresponding relation etc. using table or text mode.
The present embodiment does not limit software product release information and the specific set-up mode of the corresponding relation of compiler toggle change information.
Determine that compiler toggle module 210 can be believed according to software product release information set in advance and compiler toggle change
All compiler toggles that the software product of the respective version for determining to need to manage of the corresponding relation accurate quick of breath is included
Information;Description in specific example such as above-mentioned embodiment one, is not repeated.
The software product that multi version management module 220 is primarily adapted for the respective version managed as needed is included all
Compiler toggle information determines program corresponding to the software product for the respective version that needs manage, and is managed behaviour to the program
Make.
Specifically, it is generally the case that in the program of the first version of a software product and do not include compiler toggle, and it is follow-up
The software product of version is typically by increasing compiler toggle and deleting compiling in the program of the first version of the software product
The mode of switch forms the program of the software product of respective version.The program of first version is referred to as basic function switch.
The software product for the respective version that multi version management module 220 can manage as needed first is included all
Compiler toggle information determines to need the program corresponding to the software product of respective version managed, then, multi version management mould
The program corresponding to software product that block 220 is managed needs is managed operation;If the profit of compiler toggle module 210 will be determined
The process for all compiler toggles that the software product managed with the software product release Information locating needs for needing to manage is included
Referred to as the one-level management of the program of software product is controlled, then multi version management module 220 is included all using software product
Compiler toggle is properly termed as software product to position the process of program corresponding to the software product for the respective version for needing to manage
The two level management control of program.
The two level management control of multi version management module 220 can be realized based on compiler toggle.In addition, multi version pipe
Reason module 220 can be embedded in the program management control based on software product release information in two level management control process,
Realize that is, multi version management module 220 in above-mentioned two level management control process, can be based on compiler toggle, may be used also
(compiler toggle is not only needed to use to be realized based on compiler toggle and software product release, it is also necessary to use software product version
This information).
One specific example, it is corresponding in all compiler toggles that the software product for the respective version for needing to manage is included
Program in be provided with version restrictive condition in the case of, software product that multi version management module 220 should manage as needed
All compiler toggle information that the software product of respective version that version information and needs manage is included determine to need pipe
Program corresponding to the software product of reason, and program corresponding to the software product managed needs is managed operation;For example, true
The software product translated switch module 210 and need to manage using the software product release Information locating that manages is needed of delimiting the organizational structure is included
All compiler toggles realize one-level management control after, multi version management module 220 is shielded in the program of the software product
Program corresponding to other compiler toggles in addition to above-mentioned all compiler toggles is covered, then, then is checked in the program after shielding
Whether version restrictive condition is provided with, if being provided with version restrictive condition, multi version management module 220, which is checked, to be needed to manage
Respective version whether meet version restrictive condition, and the program of aperture form a version restrictive condition, shielding is not inconsistent form a version limit
The program of condition processed, realize that two level management controls;From the description of the example, in the diode of multi version management module 220
Manage in control process, the software product release information that compiler toggle and the needs that program is included manage, which is nested together, to be made
With.
In the present embodiment, journey corresponding to the software product for the respective version that multi version management module 220 is managed needs
The management operation that sequence is carried out can be specially the program code repairing environment into the software product of respective version, can also have
Body is that processing operation is compiled to the program code of the software product of respective version;Can also be specially to enter respective version
The software product program code programmed environment.Certainly, multi version management module 220 to needs manage respective version it is soft
The management operation that program corresponding to part product is carried out can also be using the program of the software product of respective version as operation object
The management operation of other forms, is no longer illustrated one by one herein.
Multi version management module 220 determines program corresponding to the software product for the respective version that needs manage, and to needing
First specific example that program corresponding to the software product of the respective version of management is managed operation be:Multi version management
Program based on the program of the compiler toggle of all versions of the module 220 to include the software product, in Basic application
Other compiler toggles in addition to all compiler toggles that the software product for the respective version for needing to manage is included are shielded
Processing is covered, and is presented in software product repairing environment and has carried out the program after shielding processing, that is, the program code shielded is not
It can be shown, the program code not shielded is displayed to user, so as to which multi version management module 220 is by the phase of the software product
The program code repairing environment of version is answered to be presented to user (such as attendant).
Multi version management module 220 determines program corresponding to the software product for the respective version that needs manage, and to needing
Second specific example that program corresponding to the software product of the respective version of management is managed operation be:Multi version management
All compiler toggle information that the software product for the respective version for needing to manage is included are supplied to positioned at compiling system by module 220
The part of multi version management module 220 (i.e. the partial function of multi version management module 220 is arranged in compiling system) in system, by
The part of multi version management module 220 in compiling system is to include the program of the compiler toggle of all versions of the software product
Based on program, in Basic application except all compiler toggles that the software product for the respective version for needing to manage is included
Outside other compiler toggles carry out shielding processing, and when judging the previous compiling of the program after this shielding processing and the version
Program is compared, and to determine the scope of this compiling, and carries out corresponding process of compilation.The compiling mode of the present embodiment is relative
In pressing allocation list generates macrodefinition in header file and the header file is quoted by PCH compiling mode before compiling
For, it is required for all carrying out whole file compiling etc. now when updating allocation list and every time compiling when avoiding each edition upgrading
As so as to reduce the development amount of software product, and shortening compilation time, finally improving the exploitation effect of software product
Rate.
Multi version management module 220 determines program corresponding to the software product for the respective version that needs manage, and to needing
The 3rd specific example that program corresponding to the software product of the respective version of management is managed operation be:Multi version management
Program based on the program of the compiler toggle of all versions of the module 220 to include the software product, in Basic application
Other compiler toggles in addition to all compiler toggles that the software product for the respective version for needing to manage is included are shielded
Cover processing;Then, whether multi version management module 220 is checked after shielding processing and is set in program corresponding to remaining compiler toggle
Version restrictive condition is equipped with, if being provided with version restrictive condition, multi version management module 220 checks that needs manage corresponding
Whether version meets the version restrictive condition, the program of aperture form a version restrictive condition, and shielding is not inconsistent form a version restrictive condition
Program;After program corresponding to all remaining compiler toggles has been checked, multi version management module 220 is repaiied in software product
Presented in multiple environment and carried out the program after foregoing shielding processing, that is, the program code shielded will not be shown, and not shielded
Program code be displayed to user, so as to which multi version management module 220 is by the program code of the respective version of the software product
Repairing environment is presented to user (such as attendant).
Multi version management module 220 determines program corresponding to the software product for the respective version that needs manage, and to needing
The 4th specific example that program corresponding to the software product of the respective version of management is managed operation be:Multi version management
All compiler toggle information that the software product for the respective version for needing to manage is included are supplied in compiling system by module 220
The part of multi version management module 220, by the part of multi version management module 220 in compiling system to include the software
Program based on the program of the compiler toggle of all versions of product, to the respective version managed except needs in Basic application
All compiler toggles for being included of software product outside other compiler toggles carry out shielding processing, afterwards, in compiling system
The part of multi version management module 220 check after shielding processing whether be provided with version in program corresponding to remaining compiler toggle
This restrictive condition, if being provided with version restrictive condition, needs are checked in the part of multi version management module 220 in compiling system
Whether the respective version of management meets the version restrictive condition, the part aperture of multi version management module 220 in compiling system
The program of form a version restrictive condition, and shield the program for not being inconsistent form a version restrictive condition;Checked in multi version management module 220
After program corresponding to all remaining compiler toggles, when judging the previous compiling of the program after this shielding processing and the version
Program is compared, and to determine the scope of this compiling, and carries out corresponding process of compilation.The present embodiment can not only avoid often
It is required for all carrying out the phenomenon of whole file compiling during secondary edition upgrading when updating allocation list and every time compiling, moreover, it is also possible to
When avoiding only relating to the adjustment of the portion of program code in compiler toggle not being related to the change of compiler toggle, program code
Whether modification needs the circumstances of the dilemma with grand control;Further increase the development efficiency of software product.
Multi version management module 220 can combine the above-mentioned process into program repairing environment and compilation process,
As multi version management module 220 can be specific by above-mentioned first specific example and second specific example or the 4th
Example be used in combination with;And multi version management module 220 can be by above-mentioned 3rd specific example and above-mentioned second
Specific example or the 4th specific example are used in combination with, and respective version can be realized so as to the device of the present embodiment
Software product be compiled after bug reparations are carried out, the executable file of the software product of a redaction may finally be formed.
Embodiment three, computer equipment.
The computer equipment can be single computer, multiple stage computers form calculating unit, single network server,
The server group of multiple webserver compositions or the cloud being made up of a large amount of computer/webservers based on cloud computing.
The computer equipment of the present embodiment includes the software product multi version managing device described in above-described embodiment two, no longer detailed herein
Describe in detail bright.
It should be noted that the present invention can be carried out in the assembly of software and/or software and hardware, for example, can adopt
With application specific integrated circuit (ASIC), general purpose computer or any other realized similar to hardware device.In one embodiment
In, software program of the invention can realize steps described above or function by computing device.Similarly, it is of the invention
Software program (including related data structure) can be stored in computer readable recording medium storing program for performing, for example, RAM memory,
Magnetically or optically driver or floppy disc and similar devices.In addition, some steps or function of the present invention can employ hardware to realize, example
Such as, coordinate as with processor so as to perform the circuit of each step or function.
In addition, the part of the present invention can be applied to computer program product, such as computer program instructions, when its quilt
When computer performs, by the operation of the computer, the method according to the invention and/or technical scheme can be called or provided.
And the programmed instruction of the method for the present invention is called, it is possibly stored in fixed or moveable recording medium, and/or pass through
Broadcast or the data flow in other signal bearing medias and be transmitted, and/or be stored according to described program instruction operation
In the working storage of computer equipment.Here, including a device according to one embodiment of present invention, the device includes using
Memory in storage computer program instructions and processor for execute program instructions, wherein, when the computer program refers to
When order is by the computing device, method and/or skill of the plant running based on foregoing multiple embodiments according to the present invention are triggered
Art scheme.
It is obvious to a person skilled in the art that the invention is not restricted to the details of above-mentioned one exemplary embodiment, Er Qie
In the case of without departing substantially from spirit or essential attributes of the invention, the present invention can be realized in other specific forms.Therefore, no matter
From the point of view of which point, embodiment all should be regarded as exemplary, and be nonrestrictive, the scope of the present invention is by appended power
Profit requires rather than described above limits, it is intended that all in the implication and scope of the equivalency of claim by falling
Change is included in the present invention.Any reference in claim should not be considered as to the involved claim of limitation.This
Outside, it is clear that the word of " comprising " one is not excluded for other units or step, and odd number is not excluded for plural number.That is stated in system claims is multiple
Unit or device can also be realized by a unit or device by software or hardware.The first, the second grade word is used for table
Show title, and be not offered as any specific order.
Claims (15)
1. a kind of software product multi version management method, including:
Obtain the software product release information for needing to manage;
Determine to need what is managed according to the corresponding relation of the software product release information pre-set and compiler toggle change information
All compiler toggle information that the software product of respective version is included;
The needs are determined according to all compiler toggle information that the software product of the respective version for needing to manage is included
Program corresponding to the software product of the respective version of management, and operation is managed to described program;
Wherein, the volume that the compiler toggle change information differs for the compiler toggle that is included with the software product of first version
Translate switching information;
Wherein, all compiler toggle information that the software product according to the respective version for needing to manage is included determine
Program corresponding to the software product of respective version for needing to manage, and operation is managed to described program included:
All compiler toggle information that the software product of the respective version for needing to manage is included are supplied to compiling system,
All compiler toggle information included by the compiling system according to the software product of the respective version for needing to manage are true
Program corresponding to the software product of the fixed respective version for needing to manage, and processing is compiled to described program.
2. the method according to claim 11, wherein, the software product release information and compiler toggle change information bag
Include:
The corresponding relation of software product release information and increased compiler toggle information;And/or
Software product release information and the corresponding relation for the compiler toggle information deleted.
3. according to the method for claim 2, wherein, the software product release information in the corresponding relation is software product
Version information scope;
And the increased compiler toggle information includes:In the first version adjacent with the minimum version in the version information scope
Increased compiler toggle information on the basis of all compiler toggles that this software product is included;And/or
And the compiler toggle information of the deletion includes:In the first version adjacent with the minimum version in the version information scope
The compiler toggle information deleted on the basis of all compiler toggles that this software product is included.
4. according to the method described in claim 1 or 2 or 3, wherein, the software according to the respective version for needing to manage
All compiler toggle information that product is included determine program corresponding to the software product of the respective version for needing to manage, and
Being managed operation to described program includes:
All compilings included to the software product that the respective version for needing to manage is removed in the program of the software product
Other compiler toggles outside switching information carry out shielding processing, and the screen is presented in the repairing environment of the software product
Cover the program after processing.
5. according to the method described in claim 1 or 2 or 3, wherein, the software according to the respective version for needing to manage
All compiler toggle information that product is included determine program corresponding to the software product of the respective version for needing to manage, and
Being managed operation to described program includes:
It is provided with program corresponding to all compiler toggles that the software product of the respective version for needing to manage is included
In the case of version restrictive condition, according to the software product release information for needing to manage and the respective version managed is needed
All compiler toggle information for being included of software product determine program corresponding to the software product for needing to manage, and to institute
State program and be managed operation.
6. the method according to claim 11, wherein, the software product institute according to the respective version for needing to manage
Comprising all compiler toggle information determine program corresponding to the software product of respective version for needing to manage, and to described
Program, which is managed operation, to be included:
All compilings included to the software product that the respective version for needing to manage is removed in the program of the software product
Other compiler toggles outside switching information carry out shielding processing, and do not meet institute in the software product release information for needing to manage
When stating version restrictive condition, program corresponding to the version restrictive condition is shielded;
The program after the shielding processing is presented in the repairing environment of the software product.
7. the method according to claim 11, wherein, the software product institute according to the respective version for needing to manage
Comprising all compiler toggle information determine program corresponding to the software product of respective version for needing to manage, and to described
Program, which is managed operation, to be included:
The software product release information for needing to manage and all compilings for needing the software product managed to be included are opened
Close information and be supplied to compiling system, by the compiling system according to the software product release information for needing to manage and needs
All compiler toggle information that the software product of the respective version of management is included determine the respective version for needing to manage
Program corresponding to software product, and processing is compiled to described program.
8. a kind of software product multi version managing device, including:
Version information module is obtained, suitable for obtaining the software product release information for needing to manage;
Compiler toggle module is determined, suitable for according to the software product release information pre-set and pair of compiler toggle change information
All compiler toggle information for determining that the software product for the respective version that needs manage is included should be related to;
Multi version management module, all compilings suitable for being included according to the software product of the respective version for needing to manage are opened
Close information and determine program corresponding to the software product of the respective version for needing to manage, and behaviour is managed to described program
Make;
Wherein, the volume that the compiler toggle change information differs for the compiler toggle that is included with the software product of first version
Translate switching information;
Wherein, the multi version management module is particularly adapted to:
All compiler toggle information that the software product of the respective version for needing to manage is included are supplied to compiling system,
All compiler toggle information included by the compiling system according to the software product of the respective version for needing to manage are true
Program corresponding to the software product of the fixed respective version for needing to manage, and processing is compiled to described program.
9. device according to claim 8, wherein, the software product release information and compiler toggle change information bag
Include:
The corresponding relation of software product release information and increased compiler toggle information;And/or
Software product release information and the corresponding relation for the compiler toggle information deleted.
10. device according to claim 9, wherein, the software product release information in the corresponding relation is produced for software
Product version information scope;
And the increased compiler toggle information includes:In the first version adjacent with the minimum version in the version information scope
Increased compiler toggle information on the basis of all compiler toggles that this software product is included;And/or
And the compiler toggle information of the deletion includes:In the first version adjacent with the minimum version in the version information scope
The compiler toggle information deleted on the basis of all compiler toggles that this software product is included.
11. according to the device described in claim 8 or 9 or 10, wherein, the multi version management module is particularly adapted to:
All compilings included to the software product that the respective version for needing to manage is removed in the program of the software product
Other compiler toggles outside switching information carry out shielding processing, and the screen is presented in the repairing environment of the software product
Cover the program after processing.
12. according to the device described in claim 8 or 9 or 10, wherein, the multi version management module is particularly adapted to:
It is provided with program corresponding to all compiler toggles that the software product of the respective version for needing to manage is included
In the case of version restrictive condition, according to the software product release information for needing to manage and the respective version managed is needed
All compiler toggle information for being included of software product determine program corresponding to the software product for needing to manage, and to institute
State program and be managed operation.
13. device according to claim 12, wherein, the multi version management module is particularly adapted to:
All compilings included to the software product that the respective version for needing to manage is removed in the program of the software product
Other compiler toggles outside switching information carry out shielding processing, and do not meet institute in the software product release information for needing to manage
When stating version restrictive condition, program corresponding to the version restrictive condition is shielded;
The program after the shielding processing is presented in the repairing environment of the software product.
14. device according to claim 12, wherein, the multi version management module is particularly adapted to:
The software product release information for needing to manage and all compilings for needing the software product managed to be included are opened
Close information and be supplied to compiling system, by the compiling system according to the software product release information for needing to manage and needs
All compiler toggle information that the software product of the respective version of management is included determine the respective version for needing to manage
Program corresponding to software product, and processing is compiled to described program.
A kind of 15. software product multi version management in computer equipment, including claim 8-14 described in any claim
Device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410829005.5A CN104573526B (en) | 2014-12-25 | 2014-12-25 | Software product multi version management method, device and computer equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410829005.5A CN104573526B (en) | 2014-12-25 | 2014-12-25 | Software product multi version management method, device and computer equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104573526A CN104573526A (en) | 2015-04-29 |
CN104573526B true CN104573526B (en) | 2018-01-12 |
Family
ID=53089564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410829005.5A Active CN104573526B (en) | 2014-12-25 | 2014-12-25 | Software product multi version management method, device and computer equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104573526B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843662A (en) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | Software product compiling method and equipment |
CN109213492A (en) * | 2018-09-21 | 2019-01-15 | 郑州云海信息技术有限公司 | A kind of automation compiling installation method, device, equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008114491A1 (en) * | 2007-03-20 | 2008-09-25 | Access Co., Ltd. | Terminal having application update managing function, and application update managing program and system |
JP2010160558A (en) * | 2009-01-06 | 2010-07-22 | Nec Corp | Information processing apparatus, method of operating the same, and program therefor |
CN102129378A (en) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | Software menu updating method and device |
CN103135991A (en) * | 2013-03-13 | 2013-06-05 | 烽火通信科技股份有限公司 | Customization implementation method of embedded device web interface |
-
2014
- 2014-12-25 CN CN201410829005.5A patent/CN104573526B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008114491A1 (en) * | 2007-03-20 | 2008-09-25 | Access Co., Ltd. | Terminal having application update managing function, and application update managing program and system |
JP2010160558A (en) * | 2009-01-06 | 2010-07-22 | Nec Corp | Information processing apparatus, method of operating the same, and program therefor |
CN102129378A (en) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | Software menu updating method and device |
CN103135991A (en) * | 2013-03-13 | 2013-06-05 | 烽火通信科技股份有限公司 | Customization implementation method of embedded device web interface |
Also Published As
Publication number | Publication date |
---|---|
CN104573526A (en) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rivero et al. | Mockup-driven development: providing agile support for model-driven web engineering | |
US9501596B2 (en) | Graphical design verification environment generator | |
NL2010546C2 (en) | Method and apparatus for automatically generating a test script for a graphical user interface. | |
US11294645B2 (en) | Visual virtual programming machine for real-time interactive creation, playback, execution, inspection and manipulation of programming elements | |
JP2014507029A (en) | Formatting data by example | |
Herrmannsdörfer et al. | Coupled evolution of software metamodels and models | |
US8595610B2 (en) | Method, software and computer system for manipulating aggregated data | |
CN106446019A (en) | Software function processing method and device | |
CN104573526B (en) | Software product multi version management method, device and computer equipment | |
CN108038255A (en) | A kind of automatic method for making pcb board set jigsaw | |
Kim et al. | Agile adoption story from NHN | |
US20160019199A1 (en) | Rules Editor | |
US20070225953A1 (en) | Management system and management method of CAD data | |
CN116909553A (en) | Page online development and local compiling operation system | |
CN110516333A (en) | Device layout methods, device, equipment and readable storage medium storing program for executing in a kind of PCB | |
CN106844202B (en) | Method for generating test case and terminal equipment | |
CN105893586A (en) | Method for automatically generating dynamic page based on integration rules | |
Silvestre et al. | A Usable MDE-based Tool for Software Process Tailoring. | |
García Díaz et al. | Combining the continuous integration practice and the model-driven engineering approach | |
CN114518875A (en) | Graphical programming system and programming method thereof | |
CN109656556B (en) | Method and device for generating self-adaptive page | |
CN111767412B (en) | Data mapping method and system for knowledge graph construction and electronic equipment | |
WO2020220889A1 (en) | Method and device for generating script program, and script program processing system | |
Stephan et al. | A comparative look at model transformation languages | |
CN113743071A (en) | Method and system for determining PDF invoice template by WEB terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |