CN104573526B - Software product multi version management method, device and computer equipment - Google Patents

Software product multi version management method, device and computer equipment Download PDF

Info

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
Application number
CN201410829005.5A
Other languages
Chinese (zh)
Other versions
CN104573526A (en
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201410829005.5A priority Critical patent/CN104573526B/en
Publication of CN104573526A publication Critical patent/CN104573526A/en
Application granted granted Critical
Publication of CN104573526B publication Critical patent/CN104573526B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

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

Software product multi version management method, device and computer equipment
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.
CN201410829005.5A 2014-12-25 2014-12-25 Software product multi version management method, device and computer equipment Active CN104573526B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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