CN102109991A - Software package dependency relationship modeling method - Google Patents

Software package dependency relationship modeling method Download PDF

Info

Publication number
CN102109991A
CN102109991A CN2010102411359A CN201010241135A CN102109991A CN 102109991 A CN102109991 A CN 102109991A CN 2010102411359 A CN2010102411359 A CN 2010102411359A CN 201010241135 A CN201010241135 A CN 201010241135A CN 102109991 A CN102109991 A CN 102109991A
Authority
CN
China
Prior art keywords
software package
dependence
package
unified
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010102411359A
Other languages
Chinese (zh)
Inventor
兰雨晴
匡明霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
兰雨晴
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 兰雨晴 filed Critical 兰雨晴
Priority to CN2010102411359A priority Critical patent/CN102109991A/en
Publication of CN102109991A publication Critical patent/CN102109991A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention provides a software package dependency relationship modeling method. The method comprises the following steps of: resolving dependency relationships in software packages, and expressing the dependency relationships as a uniform software package metadata format Package format; and describing the dependency relationships expressed as the uniform software package metadata format Package format by using an extensible GraphML language, and visualizing the dependency relationships. Modeling can be performed on different software package management system, the dependency relationships of installable software packages can be managed, the management efficiency of the dependency relationships of the software packages can be improved, and the management complexity of the dependency relationships among the software packages can be reduced.

Description

Software package dependence modeling method
Technical field
The present invention relates to software package administrative skill field and be meant a kind of (SuSE) Linux OS that is applicable to especially, the dependence that exists in the software package under the Linux is extracted and the method for unified Modeling.
Background technology
Along with the broad development of (SuSE) Linux OS, the management of (SuSE) Linux OS is subject to people's attention more and more that (SuSE) Linux OS distribution version is made up of a large amount of installable software packages.Be accompanied by Internet development, the scale of (SuSE) Linux OS is also increasing, and the quantity of the software package that is comprised is also more and more.Exist the dependence of large amount of complex between the software package.
Simultaneously, linux system has multiple distribution version, and multiple different software package form is arranged.As Redhat Linux software package is the RPM form, and Debian Linux is the DEB form, and software package also can be tgz or pkg form.Different software package forms have than big-difference.This has increased the difficulty of Linux software package management equally.
Specifically, software package management under the Linux can be divided into client software to be assured reason and distributes different type in the software package management two of pond, and the local installation and maintenance of responsible software package respectively, dependence are handled the software package of (obtaining required software package automatically according to dependence result of calculation from dissemination system) and access end and safeguarded.
Owing to but the scale and the common distribution version of complicacy of (SuSE) Linux OS are made up of several thousand installation unit bags, but this makes install software bag distribute the in large scale of pond, and the dependence between the software package is more complicated.But but the dependence integrality of managing the installability, (SuSE) Linux OS distribution version and the distribution pond that guarantee each install software bag by install software bag dependence.But by manually finishing the management of install software bag dependence, the scale in distribution pond, and frequent version change and renewal make that this task is an activity that cost is very high in integrated and renewal supporting process.So the software package management work in distribution pond just becomes extremely important.Abroad, external famous Linux distributes manufacturer such as Red Hat, Ubuntu etc., all have the distribution pond management tool of oneself, but these instruments all belongs to the secret resource of enterprise.At home, the management for the distribution pond also all is manually to be finished by the staff.
At present, the number of tools that relies on modeling for software package is not a lot, and most instrument that all belongs to enterprise-specific.But exist in client and severally can show the instrument that wraps dependence.
1.apt-rdepends:apt-rdepends can extract the dependence information of software package, and the dependence information format of being extracted is turned to the Dot language file.It is worked with the assembly Dot of Graphviz just can demonstrate the dependence of certain software package.More restriction is arranged on this instrumental function, and the dependence information of the software package that it can only show can not show conflicting information.On meta-data extraction, it does not resolve the metadata of all bags, and just the Depends relation is resolved.
2.Linux the visualization tool that bag relies on: have a people to do a visualization tool that relies on about the Linux bag on the net, it is a web system, service end is write as with Python framework Django, is formatted as the data layout of json after the dependence information extraction with bag.Client uses the Mootools bag to resolve the json data, and its visualization result realizes by utilizing JavaScriptInfoVis ToolKit to wrap.
3.Ignominy:Ignominy be an instrument that develops in project CMS IGUANA, it is used for software systems are analyzed.Its major part is the reader of a member dependence, and this reader can the parsing that dependence is detailed become readable form.It has comprised also that simultaneously the visual data of collecting are the instrument of image.This instrument main application is the software construction error that may occur that can check oneself exploitation, and improves the quality of software.It can also be assessed and research learning the external module that is now using simultaneously.
But, above-mentionedly can show that bag dependence modeling tool all is based on client software and assures reason, it is not the software package management of distribution pond, handle and assure main local installation and maintenance, the dependence of being responsible for software package of reason, and be not suitable for the software package dependence management of access end based on client software.For access end software package dependence modeling technique, still there is not the software package dependence modeling method under the disclosed Linux.
Summary of the invention
In view of this, fundamental purpose of the present invention is, dependence complicated situation numerous at Linux software package form, a kind of unified modeling method based on the GraphML language of unifying software package metadata format and expansion is provided, technical matters to be solved is how the software package dependence of access end to be carried out modeling, to improve software package dependence efficiency of managing, reduce the complexity of the dependence management between the software package.
The object of the invention to solve the technical problems realizes by the following technical solutions.According to a kind of unified modeling method based on the GraphML language of unifying software package metadata format and expansion that the present invention proposes, it may further comprise the steps: step 10: the dependence of resolving in the software package is expressed as unified software package metadata format Package form; Step 20: will be expressed as of the GraphML language description of the dependence of unified software package metadata format Package form with expansion, and it is visual; Wherein, this unified software package metadata format proposes from the angle of dependence modeling, has only comprised the required necessary information of dependence modeling; The GraphML of this expansion is based on GraphML, increases attribute and increase<data by being its element〉mode of element content expands it.
The object of the invention to solve the technical problems can also be applied to the following technical measures to achieve further.
Aforesaid unified modeling method based on the GraphML language of unifying software package metadata format and expansion, wherein said step 10 also comprises: step 101: according to various Linux software package form, from the angle of dependence modeling, a kind of unified software package metadata format Package form and XML method for expressing thereof are proposed; Step 102: according to the software package form of input, read the software package file of Bao Ji of this kind software package form or the description document of Bao Ji, resolve and extract the dependence information of software package metadata; Step 103: the dependence information translation that will obtain is unified software package metadata format Package form, and is expressed as the bag base description document of unified software package metadata description with XML.
Aforesaid unified modeling method based on the GraphML language of unifying software package metadata format and expansion, wherein said step 101 further comprises: step 1011: according to various Linux software package form, provide the element that unified software package metadata format Package form is comprised from dependence modeling angle; Step 1012: the descriptive definition that provides the element that is comprised in the Package form; Step 1013:, provide the XML method for expressing of Package form according to the Package form; Described step 102 further comprises: step 1021: according to the software package form of input, judge the form of software package base; Step 1022:, read the software package file of Bao Ji of this kind form or the description document of Bao Ji according to the form of Bao Ji; Step 1023:, resolve and extract the dependence information of software package metadata according to the description document of software package file that reads or Bao Ji; Step 103 further comprises: step 1031: with the dependence information translation of the software package metadata extracted for towards the Package structure that relies on modeling; Step 1032: with the bag base description document of Package Structure Conversion for the unified software package metadata description represented with XML.
Aforesaid unified modeling method based on the GraphML language of unifying software package metadata format and expansion, wherein said step 20 also comprises: step 201: based on bag capital construction mould demand, GraphML is expanded the GraphML form that is expanded; Step 202: the Package Structure Conversion is described for the GraphML file layout of expansion, generated the graphmlxml file; Step 203: read graphml.xml and it is visual.
The present invention compared with prior art has tangible advantage and beneficial effect.By technique scheme, the unified modeling method that the present invention is based on the GraphML language of unified software package metadata format and expansion has following advantage and beneficial effect:
1. the present invention supports the extraction of multiple different software packet format metadata;
2. the present invention adopts unified software package metadata to represent dependence, and the GraphML of use expansion carries out unified Modeling to dependence, can reduce the difficulty and the software package maintenance cost of the management of access end software package, and improves integrated and renewal support efficient;
3. the present invention describes the software package dependence towards graphics mode, but automatic generating software bag base description document and visualized graphs;
4. the software package metadata format among the present invention can be when extracting between software package dependence, and a kind of packet format of every increase need not partly modify the dependence modeling;
5.GraphML having separately the graphics file format of peculiar grammer with other compares, its advantage is for adopting the grammer based on XML, this makes it become that figure produces, the desirable form of graphic documentation processing, and allows the user by increasing attribute for its element or being<data〉mode of element increase structured content expands.In addition, GraphML supports super limit, and " or the dependence " that can be used between a software package and a plurality of software package in the emulation " and-or figure " concerns.The GraphML of the expansion among the present invention not only has the characteristic of GraphML but also satisfies the demand of wrapping the capital construction mould
But 6. but the present invention manages installability, (SuSE) Linux OS distribution version that guarantees each install software bag and the dependence integrality of distributing the pond by install software bag dependence.
In sum, the present invention has above-mentioned advantage and beneficial effect, and bigger improvement is all arranged on method and function, and obvious improvement is arranged technically, and has the extensive value of industry.
Above-mentioned explanation only is the general introduction of technical solution of the present invention, for can clearer understanding technological means of the present invention, and can be implemented according to the content of instructions, and for above-mentioned and other purposes, feature and advantage of the present invention can be become apparent, below especially exemplified by preferred embodiment, and conjunction with figs., be described in detail as follows.
Description of drawings
Fig. 1 is a dependence leaching process between the Linux software package.
Fig. 2 represents for the XML of unified software package metadata.
Fig. 3 extracts and modeling process based on dependence between unified software package meta-data pack.
Fig. 4 is the GraphML form of expansion.
Fig. 5 is a libc6 node example.
Fig. 6 is an edge node example.
Fig. 7 is a hyperedge node example.
Embodiment
Reach technological means and the effect that predetermined goal of the invention is taked for further setting forth the present invention, below in conjunction with accompanying drawing, to its embodiment of unified modeling method, method, step, structure, feature and the effect thereof that proposes according to invention based on the GraphML language of unified software package metadata format and expansion, describe in detail as after.
Relevant aforementioned and other technology contents, characteristics and effect of the present invention present with reference to knowing in the graphic detailed description in following cooperation.By the explanation of embodiment, when can being to reach the technological means of being taked of predetermined purpose and effect is able to more deeply and concrete understanding to the present invention, yet appended graphic only provide with reference to the usefulness of explanation, be not to be used for the present invention is limited.
In order better to understand content of the present invention, provide some relevant notions below:
(1) but the installation unit bag
But the installation unit bag is a kind of file set that comprises contents such as metadata, program file, configuration information and installation script, is that of composition software can install base unit.In (SuSE) Linux OS, be called software package, but this paper primary study the dependence management of the installation unit bag on the (SuSE) Linux OS, but therefore followingly abbreviate the installation unit bag as software package.
(2) dependence between software package
Generally speaking, the dependence between the software package can be divided into two classes: rely on and conflict.For install software bag p1, install software bag p2 at first, there is dependence in p1 to p2; Software package p1 and p2 can't exist jointly, claim that between p1 and the p2 be conflict relationship.Can obtain the dependence and the conflict constraint information of bag from the meta data file of software package.
(3) the dependence satisfiability of software package
For a software package set R, the dependence satisfiability of software package p refers among the R, in software package set R, has an assignment λ, D λ(X) for relying on function, definition D λ(X) be the set of the direct dependent software package of X.D N λ(p) expression D λ(D λ(D λ(... (D λ(p) ...))), to subclass
Figure BSA00000211611500071
In arbitrary software package x, make , And
(4) software package can be installed
For software package set R, a given software package p if p meets the dependence satisfiability with respect to software package set R, then claims p can install on software package set R.
(5) or rely on and dependence
Most dependence is " with relying on ", if software package A " with relying on " is software package B and C, represents that then software package A under the situation that lacks B or C, can not use.
Some software package form can be supported " or dependence " relation, if software package A " or dependence " is software package B and software package C, represents that then software package A exists under the situation at B or the arbitrary bag of C, just can use.In DEB software package form, Depends, Recommands, Suggests and Pre-Depends relation are all supported " or dependence ".
(6) expression of dependence
A dependence also limits the version that it relies on through regular meeting.If software package A depends on libc6 (>=2.4), just show that software package depends on libc6, and version must be more than or equal to 2.4.
One has the comparison of five kinds of different versions about bag:
=equal fully;<=be less than or equal to;>=more than or equal to;<less than;>greater than.
(7) empty bag
Empty bag is meant one group of general designation with software of approximation function, and for example tin and trn are newsreaders, for other program that need upgrade reading in the system provides service.Therefore we can say that they all provide the void bag of " news-reader (news reading) ".
Equally, the function that mail transport agent all is provided of smail and sendmail.Therefore say that they provide the void bag of " mail transport agent (mail transport agent) ", both installations can be satisfied the void bag requirement of other program for " mail transport agent ".Empty bag does not have version number.
(8) classification of dependence
8 kinds of different dependences that comprise in the Linux software package metadata are as follows:
The Depends relation: if having dependence between software package B and the software package A, this just means that software package B can not move under the situation that lacks software package A.
The Recommends relation: identical with the Depends relation, but dependence noted here is not that pressure is necessary.
The Suggests relation: if there is Suggests relation (ASuggests B) between software package B and the software package A, this just means that software package A can strengthen the function of software package B.But under the situation that software package A lacks, software package B still can move.
Pre-Depends relation: belong to dependence when installing.If software package B and software package A have the Pre-Depends relation, show that software package B needs the support of software package A when mounted.
The Enhances relation: similar to the Suggests relation, if software package A and software package B have the Enhances relation, expression software package A can strengthen the function of software package B.
Conflicts relation: the conflict relationship between the expression software package.If software package A conflicts with software package B, then software package A and software package B can not coexist in same system.
Replaces relation: a kind of method that can manage conflict is provided.If software package A can Replaces software package B, then software package B just must first remove from system, and software package A just can be mounted then.
Provides relation: the empty bag relation of expression.
The unified modeling method based on the GraphML language of unifying software package metadata format and expansion that the present invention proposes may further comprise the steps:
Step 10: the dependence of resolving in the software package is expressed as unified software package metadata format Package form.
Be illustrated in figure 1 as dependence leaching process figure between the Linux software package, may further comprise the steps:
Step 101:,, propose a kind of unified software package metadata format Package form and XML method for expressing thereof from the angle of dependence modeling according to various Linux software package form.
At first enter step 1011:, provide the element that unified software package metadata format Package form is comprised from dependence modeling angle according to various Linux software package form;
Execution in step 1012 then: the descriptive definition that provides the element that is comprised in the Package form;
Various Linux software package form is arranged, as Redhat Linux software package is the rpm form, Debian Linux is the deb form, software package also can be forms such as tgz or pkg, the content that different software package forms comprises is also variant, the analysis of different software packet format and contrast as shown in table 1.When extracting the parlor dependence, need handle respectively at different packet formats, a kind of packet format of every increase, just need make modification to the appropriate section of dependence modeling member, for making dependence modeling member be independent of various packet format, need it to be input as a unified bag metadata format, the present invention proposes a kind of unified software package metadata format from dependence modeling angle for this reason, and this metadata format has only comprised the required necessary information of dependence modeling.Separate with dependence modeling member by of parsing, the dependence extraction of unified bag metadata format, to increase extensibility separately different-format software package information.Unified software package metadata format definition is as shown in table 2.
The contrast of table 1 different software packet format
Figure BSA00000211611500091
Figure BSA00000211611500101
The definition of the unified software package metadata format of table 2
Figure BSA00000211611500111
Wherein:
(1) pk_depends in the table 2, pk_pre_depends, pk_suggests, pk_recommands, pk_enhances, pk_provides, pk_replaces and pk_conflicts represent the following eight kinds of different dependences of Linux respectively.
(2) PackageVersion in the table 2 represents a dependence in the software package metadata, and it has the title that three field: dep_pkg_name represent to rely on bag, does not comprise version number; Dep_version_operator represents to rely on the version operational character of bag, has five values (GE, LE, LT, GT, enumeration type EQ), represent five kinds of comparisons, be respectively:>=more than or equal to,<=be less than or equal to,<less than,>greater than ,=equal fully; Dep_version represents to rely on the version number of bag.
(3) pk_depends in the table 2, pk_pre_depends, pk_suggests, pk_recommands and pk_enhances relation are different with the method for expressing of pk_provides, pk_replaces and pk_conflicts, and this mainly is because five kinds of comparisons of software package version need to support " or dependence " relation.
Last execution in step 1013:, provide the XML method for expressing of Package form according to the Package form.
The present invention adopts XML to describe unified software package metadata.The XML of the unified software package metadata format of the present invention's definition represents as shown in Figure 2.
Wherein, be converted to name node among the XML corresponding to the pk_name in the Package structure in the table 2; Pk_version in the Package structure is converted to the version node among the XML; Pk_architecture in the Package structure is converted to the architecture node among the XML; Pk_size in the Package structure is converted to the size node among the XML; Pk_installed_size in the Package structure is converted to the installed_size node among the XML; Pk_source attribute in the Package structure can be converted to the source node among the XML, and will be divided into (software package title, software package version) two; These eight kinds of dependences of pk_provide in the Package structure, pk_conflicts, pk_replaces, pk_depends, pk_pre_depends, pk_suggests, pk_recommands and pk_enhances all can be converted to the dependency node among the XML, type in the dependency node represents the type that concerns, AndOrRelation represents " or with " relation, dependency-package-list represents to rely on the package list, each relies on bag and is divided into (software package name, operation, the software package version) three; Pk_description in the Package structure is converted to the description node among the XML.
Step 102: according to the software package form of input, read the software package file of Bao Ji of this kind software package form or the description document of Bao Ji, resolve and extract the dependence information of software package metadata.
At first enter step 1021:, judge the form of software package base according to the software package form of input;
Execution in step 1022 then: according to the form of Bao Ji, read the software package file of Bao Ji of this kind form or the description document of Bao Ji;
Last execution in step 1023:, resolve and extract the dependence information of software package metadata according to the description document of software package file that reads or Bao Ji.
The current metadata parsing work of supporting DEB, RPM, Cache and four kinds of formatted files of HDList.As shown in Figure 1, according to the software package form of input, the software package form is judged; Read the software package file of Bao Ji of this kind software package form or the description document of Bao Ji then, if what read in is that (description document of RPM bag base is HDList for the description document of Bao Ji, the description document of Debian bag base is DebianCache), resolve the basic description document of bag, obtain the attribute of an element value and the content of unified software package meta data definition; If that read in is Bao Ji, then judge the form of software package, if rpm format software bag, then read the spec file, if deb format software bag then reads the control file, the software package file that parsing is read is obtained the property value that belongs to originally and the content of unified software package meta data definition.
A preferred embodiment of the present invention be with DEB software package form as software package to be described,, resolve its process and to the transfer process of unified software package metadata format.
DEB software package form is as follows:
·apache2_2.2.8-lubuntu0.3_all.deb
оdebian-binary(version)
оcontrol.tar.gz
·postinst(post-install?script)
·prerm(pre-removal?script)
·postrm(post-removal?script)
·md5sums(MD5sums?for?data.tar.gz)
·control(package?metadata)
оdata.tar.gz
·/usr
·/usr/lib
·...
A DEB bag is an AR file, and it is comprising three members: two compressed files of the version number of bag (being generally 2.0 now) with the GZIP packing, and as implied above.In compressed file, comprising the file that metadata (control information of bag) and this bag will be installed respectively.
Control.tar.gz file the inside is comprising all metadata, in the controlling packet except comprising metadata, it also comprised whole bag the MD5 verification and, can comprise also certainly that simultaneously those are mounted the script file of required operation when deleted at bag.
Comprised all metadata informations among the control documents control, it is that a text is comprising many different paragraphs, is comprising many different fields in each paragraph again.Cut apart with blank line between the paragraph.The control file content of libmyth-dev as shown below
Package:libmyth-dev
Priority:optional
Section:multiverse/libdevel
Installed-Size:1776
Maintainer: MythTV Ubuntu Maintainers
<ubuntu-mythtv@lists.ubuntu.com>
Original-Maintainer:Christian?Marillat<marillat@debian.org>
Architecture:i386
Source:mythtv
Version:O.22.0+fixes18207-0ubuntu4~hardv1
Provides:libmyth-0.21-0-dev
Depends:libmyth-O.21-O (=O.21.O+fixes18207-Oubuntu4~hardy1),
libqt3c102-mt-dev|libqt3-mt-dev
Conflicts:libmyth-0.2l-dev
Filename:
pool/multiverse/m/mythtv/libmyth-dev?0.21.0+fixes18207-0ubuntu4~h
ardv1_i386.deb
Size:358762
MD5sum:72c1ea0de80067fb0e48536d98de010d
SHA1:402c83e016db3d39f3b1c1fb1098537fa4d0870f
SHA256:
66abff43def8e6cc7b05779bda98a142ff91a088046645364fa2b7c88b9d
5f56
Description:Common?library?code?for?MythTV?and?add-on?modules
(development)
MythTV?provides?a?unified?graphical?interface?for?recording?and
viewing
television programs.Refer to the mythtv?package for more
information.
·
This?package?contains?files?needed?for?developing?applications?which
use
libmyth(such?as?the?various?add-ons?for?MythTV)
Bugs:mailto:ubuntu-users@lists.ubuntu.com
Homepage:http://www.mythtv.org
Origin:Ubuntu
Each field all can occupy the position of delegation usually, and text formatting is that field name adds the structure of quotation marks in the content that adds field.Control documents allows control field can occupy multirow, in this case, and all need be since second row with a space beginning.
Step 103: the dependence information translation that will obtain is unified software package metadata format Package form, and is expressed as the bag base description document of unified software package metadata description with XML.
At first execution in step 1031: with the dependence information translation of the software package metadata extracted be Package structure towards the dependence modeling; Follow above-mentioned steps 102, carry out following operation: the dependence information translation that will obtain is the Package form.
In the preferred embodiment, the dependence of DEB software package all is arranged in the control file, and the control file is a text, metadata of each line display.Each bar metadata separates with ": ", and Key is represented in the colon front, and content is represented in the back.Table 3 is the mapping situation of Key and Package.Resolve the control file,, obtain the attribute of an element value and the content of unified software package metadata Package organization definition according to the mapping relations of table 3.
Table 3
DEB metadata title Unified software package metadata
Package pk_unit
Installed-Size pk_installed_size
Architecture pk_architecture
Source pk_source
Version pk_version
Replaces pk_replaces
Provides pk_provides
Depends pk_depends
Pre-Depends pk_pre_depends
Suggests pk_suggests
Conflicts pk_conflicts
Size pk_size
Description pk_description
Step 1032 then: with the bag base description document of Package Structure Conversion for the unified software package metadata description represented with XML.According to the XML method for expressing of unified software package metadata format shown in Figure 2, the Package thaumatropy of describing according to abovementioned steps 1013 is the transformation rule of XML method for expressing, is expressed as the XML file.
It is as follows that the software package of different-format is converted to the algorithm of unified software package metadata:
Input: the description document place catalogue of different-format bag base or Bao Ji, and the storing directory of output file;
Output: the unified software package metadata description XML file of Bao Ji;
Algorithm steps:
(1) judges whether what read in is the basic description document of bag,, otherwise change (2) over to for Bao Ji if change (3) over to
(2) for each software package file under the basic catalogue of bag, carry out following operation:
1. judge the form of software package, if rpm format software bag then reads the spec file;
If deb format software bag then reads the control file;
2. resolution file obtains the attribute of an element value and the content of unified software package meta data definition;
3. according to the XML method for expressing of unified software package metadata format, unified software package metadata is write the unified software package metadata description XML file of Bao Ji.
(3) read the basic description document of bag (description document of RPM bag base is HDList, and the description document of Debian bag base is DebianCache); Resolve the basic description document of bag, obtain the attribute of an element value and the content of unified software package meta data definition; According to the XML method for expressing of unified software package metadata format, unified software package metadata is write the unified software package metadata description XML file of Bao Ji.
Above-mentioned algorithm is converted to unified software package metadata towards the dependence modeling with the software package descriptor of different-format.Read the software package descriptor of different-format, be converted to unified software package metadata description.
Step 20: will be expressed as of the GraphML language description of the dependence of unified software package metadata format Package form with expansion, and it is visual.
For set up in the step 10 based on dependence leaching process between unified software package meta-data pack, need carry out modeling process.Be illustrated in figure 3 as based on dependence between unified software package meta-data pack and extract and modeling process, may further comprise the steps:
Step 201:, GraphML is expanded the GraphML form that is expanded based on bag capital construction mould demand.
The parlor dependence of Bao Ji can adopt " with-or figure " describe.The parlor dependence of Bao Ji has the complex network characteristic.The present invention adopt GrapML pictorial symbolization language description Bao Ji the parlor dependence " with-or figure ".GraphML is the pictorial symbolization language based on XML, is a kind of comprehensive and easy-to-use graphics file format.GraphML is by the language core of describing the graphic structure attribute and can carry out flexible expansion mechanism according to application-specific data and form.GraphML supports oriented, undirected and combination chart; Support hypergraph; Hierarchy chart; Diagrammatic representation; External data is quoted; The resolver of application-specific attribute data and lightweight etc.Having separately the graphics file format of peculiar grammer with other compares, the advantage of GraphML is for adopting the grammer based on XML, this makes it become desirable figure generation, documenting and processing format, and allows the user by increasing attribute for its element or being<data〉mode of element increase structured content expands.Another chief reason of selecting GraphML is that GraphML supports super limit (super limit is meant the limit that is connected to a plurality of node), can be used for a software package in the emulation " and-or figure " and " or the dependence " between a plurality of software package to concern.
Based on GraphML, the present invention increases attribute and increase<data by being its element〉mode of element content expands it, satisfying the demand of bag capital construction mould, thereby obtained the GraphML form of expansion.
Step 202: the Package Structure Conversion is described for the GraphML file layout of expansion, generated the graphmlxml file.
The GraphML that the present invention is based on expansion represents the software package dependence graph, as shown in Figure 4.
Illustrate, dependence graph is made up of node node, limit edge and super limit hyperedge.Utilized node node modeling among the figure and formed the software package of Bao Ji, limit edge modeling the dependence between two software packages, the hyperedge modeling of super limit " or the dependence " between software package concern.Be described in detail as follows:
(1) node node
The composition of node node element mainly contains packagename attribute, version and provide child node.
● the title of packagename attribute representation software package (not comprising version number);
● version child node (1..N) is all different version situations of same names;
● provide child node (1..N) is all void bags that software package provided.
Fig. 5 has represented the example of a node node.
(2) edge node
The composition of node edge element mainly contains dependency-type, source and target attribute, and child node version.
● dependency-type is two dependence types between software package, and the value of type is:
Provide (Provides relation), install (Pre-Depends relation), run (Depends relation), conflict (Conflicts relation), replace (Replaces relation), suggest (Suggests relation), enhance (Enhances relation), recommend (Recommends relation);
● the source attribute is the source node (not comprising version number) of dependence;
● the target attribute is the destination node (not comprising version number) of dependence;
● version child node (1..N) expression has the version of two bags of dependence, and it has three attributes.Attribute source represents the version of source node, and target represents the version of destination node, and operator represents the comparison of dependence, and the comparison value is: LT, and LE, EQ, GE, GT, ALL, expression successively<,<=,==,>=,>and concern arbitrarily.
Fig. 6 has represented the example of an edge node.
(3) hyperedge node
The composition of node hyperedge element mainly contains the dependency-type attribute, child node endpoint and version.
● the type of dependency-type attribute representation dependence, same meaning in its implication and the edge node.
● endpoint has defined all involved bags of " or dependence " relation.The value of the attribute type of endpoint is in and out, and wherein in is the destination node of " or dependence ", and out is the source node of " or dependence ".The attribute node of endpoint represents to have the software package title of " or dependence " relation.Endpoint has the version daughter element, and it has illustrated the version information of software package in the dependence.Attribute source, the operator of version and target represent the version number of version number, relation character and the purpose software package of source software bag in the dependence respectively, and the value of relation character is LT, LE, EQ, GE, GT, ALL, expression successively<,<=,==,>=,>and concern arbitrarily.
What Fig. 7 represented is the example of a hyperedge node.
Step 203: read graphml.xml and it is visual.
The dependence that text is represented is visual, and figure is a kind of display mode intuitively.The graph visualization technological side adopts the ripe graph visualization software Jung that increases income, and reads the graphml.xml file, extracts the dependence between the software package of representing among the graphml.xml, and is shown as figure.
The java class that uses in visualization process comprises following several:
● DependencyVertex: the base class of the node in the dependency graph, expression software package.
● StandardPackageVertex: inherit and DependencyVertex, represent a standard software packet node.
● VirtualPackageVertex: inherit in DependencyVertex, represent an empty packet node.
● AlternativeVertex: inherit in DependencyVertex, represent " or dependence " node.
● DependencyEdge: the base class on the limit in the dependency graph, the dependence between the expression software package.
● StandardDependencyEdge: connect the limit of two normal packet, the dependence between the expression normal packet.
● VirtualPackageEdge: connect normal packet and empty limit of wrapping.Represent the void bag relevant with normal packet.
● AlternativeEdge: connect the limit of normal packet node and " or dependence " node, " or dependence " relation between the expression software package.
● DependencyType: the dependence type between software package.Enumeration type, the type that expression relies on.
● VersionOperator: for version relies on enumerating of operational character, desirable value is: LT, LE, EQ, GE, GT, ALL.
● VersionRelationship: represent a dependence.
Fig. 4 explanation, the dependence graph of the GraphML representation of file of expansion is made up of node node, limit edge and super limit hyperedge, respectively the visualization process of node node, limit edge and super limit hyperedge is described below.
(1) visual to the node node
A node node can be set up a StandardPackageVertex object, represents the software package of all version.The name of this object is called the packagename attribute of node node and all version numbers thereof.
When running into a provide child node, will set up a VirtualPackageVertex object, be expressed as an empty bag.And between StandardPackageVertex object and VirtualPackageVertex object, set up a limit, the expression node provides an empty bag.
(2) visual to the edge node
An edge node can be set up a StandardDependencyEdge object, and this limit can connect two StandardPackageVertex objects.
● at first need to set up the VersionOperator object according to the operator attribute of version child node.
● search source StandardPackageVertex object according to the source attribute in source attribute and the version child node.
● search purpose StandardPackageVertex object according to the target attribute in target attribute and the version child node.
● the object above utilizing in three steps is set up the VersionRelationship object, represents this dependence.
● set up the StandardDependencyEdge object at last.
(3) visual to the hyperedge node
" or rely on " relation has related to the relation between two above nodes.
● to be that the endpoint of in finds source StandardPackageVertex object at first according to type.
● according to type is that the endpoint of out finds target StandardPackageVertex object.
● need to set up a new AlternativeVertex object then, and connect with source node.
● between AlternativeVertex object and target StandPackageVertex object, connect respectively at last.
The above, it only is preferred embodiment of the present invention, be not that the present invention is done any pro forma restriction, though the present invention discloses as above with preferred embodiment, yet be not in order to limit the present invention, any those skilled in the art, in not breaking away from the technical solution of the present invention scope, when the method that can utilize above-mentioned announcement and technology contents are made a little change or be modified to the equivalent embodiment of equivalent variations, in every case be the content that does not break away from technical solution of the present invention, according to technical spirit of the present invention to any simple modification that above embodiment did, equivalent variations and modification all still belong in the scope of technical solution of the present invention.

Claims (11)

1. software package dependence modeling method, the unified modeling method that it is based on the GraphML language of unified software package metadata format and expansion is characterized in that may further comprise the steps:
Step 10: the dependence of resolving in the software package is expressed as unified software package metadata format Package form;
Step 20: will be expressed as of the GraphML language description of the dependence of unified software package metadata format Package form with expansion, and it is visual.
2. a kind of software package dependence modeling method according to claim 1 is characterized in that:
Unified software package metadata format Package form is the angle proposition from the dependence modeling, has only comprised the required necessary information of dependence modeling;
The GraphML of expansion is based on GraphML, by the mode that increases attribute and increase data element content for its element it is expanded.
3. a kind of software package dependence modeling method according to claim 1 is characterized in that wherein said step 10 also comprises:
Step 101:,, propose a kind of unified software package metadata format Package form and XML method for expressing thereof from the angle of dependence modeling according to various Linux software package form;
Step 102: according to the software package form of input, read the software package file of Bao Ji of this kind software package form or the description document of Bao Ji, resolve and extract the dependence information of software package metadata;
Step 103: the dependence information translation that will obtain is unified software package metadata format Package form, and is expressed as the bag base description document of unified software package metadata description with XML.
4. a kind of software package dependence modeling method according to claim 3 is characterized in that wherein said step 101 further comprises:
Step 1011:, provide the element that unified software package metadata format Package form is comprised from dependence modeling angle according to various Linux software package form;
Step 1012: the descriptive definition that provides the element that is comprised in the Package form;
Step 1013:, provide the XML method for expressing of Package form according to the Package form.
5. a kind of software package dependence modeling method according to claim 3 is characterized in that wherein said step 102 further comprises:
Step 1021:, judge the form of software package base according to the software package form of input;
Step 1022:, read the software package file of Bao Ji of this kind form or the description document of Bao Ji according to the form of Bao Ji;
Step 1023:, resolve and extract the dependence information of software package metadata according to the description document of software package file that reads or Bao Ji.
6. a kind of software package dependence modeling method according to claim 3 is characterized in that wherein said step 103 further comprises:
Step 1031: with the dependence information translation of the software package metadata extracted be Package structure towards the dependence modeling;
Step 1032: with the bag base description document of Package Structure Conversion for the unified software package metadata description represented with XML.
7. a kind of software package dependence modeling method according to claim 1 is characterized in that wherein said step 20 also comprises:
Step 201:, GraphML is expanded the GraphML form that is expanded based on bag capital construction mould demand;
Step 202: the Package Structure Conversion is described for the GraphML file layout of expansion, generated the graphml.xml file;
Step 203: read graphml.xml and it is visual.
8. a kind of software package dependence modeling method according to claim 3, it is characterized in that the wherein described unified software package metadata of step 101, comprised the required necessary information of dependence modeling, the software package of different-format is unified the software package metadata represent, unified software package metadata is represented with XML.
9. a kind of software package dependence modeling method according to claim 3, it is characterized in that the wherein described software package dependence of step 102 leaching process, at least support the metadata parsing work of DEB, RPM, Cache and four kinds of formatted files of HDList, be converted to towards the Package structure that relies on modeling.
10. a kind of software package dependence modeling method according to claim 7, it is characterized in that the described GraphML file that reads expansion of step 203 wherein and it is visual, comprised the information with the GraphML file description of expansion is showed with patterned way.
11. a kind of software package dependence modeling method according to claim 3 is characterized in that the extraction and the resolving of wherein said software package to be described, is the parsing of DEB software package.
CN2010102411359A 2010-07-30 2010-07-30 Software package dependency relationship modeling method Pending CN102109991A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102411359A CN102109991A (en) 2010-07-30 2010-07-30 Software package dependency relationship modeling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102411359A CN102109991A (en) 2010-07-30 2010-07-30 Software package dependency relationship modeling method

Publications (1)

Publication Number Publication Date
CN102109991A true CN102109991A (en) 2011-06-29

Family

ID=44174167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102411359A Pending CN102109991A (en) 2010-07-30 2010-07-30 Software package dependency relationship modeling method

Country Status (1)

Country Link
CN (1) CN102109991A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945155A (en) * 2012-10-22 2013-02-27 中标软件有限公司 Linux operation system software package and dependency deficiency detecting method thereof
CN104077140A (en) * 2014-07-04 2014-10-01 用友软件股份有限公司 Automatic compiling method and compiling device for continuous integration
CN104461567A (en) * 2014-12-24 2015-03-25 北京奇虎科技有限公司 Method and system for releasing software package
CN104462352A (en) * 2014-12-04 2015-03-25 北京国双科技有限公司 Data packing method and device
CN105446757A (en) * 2014-08-21 2016-03-30 阿里巴巴集团控股有限公司 Data packet processing method and device
CN105787299A (en) * 2015-12-22 2016-07-20 中软信息系统工程有限公司 Method for making cpk software package with security identifier
CN106294160A (en) * 2016-08-12 2017-01-04 福建天泉教育科技有限公司 Check the method and system relying on bag legitimacy
CN107133521A (en) * 2017-05-12 2017-09-05 天津大学 Demand for security template construction method based on demand for security meta-model
CN107678776A (en) * 2017-08-09 2018-02-09 上海壹账通金融科技有限公司 Multimode version dependence construction method, device, server and storage medium
CN108255499A (en) * 2017-07-28 2018-07-06 新华三大数据技术有限公司 component processing method and device
CN112230976A (en) * 2020-09-01 2021-01-15 麒麟软件有限公司 Method for simultaneously supporting two software package managers and supporting mutual dependence and conflict detection of software packages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1363882A (en) * 2001-01-05 2002-08-14 国际商业机器公司 System and method for service and role based software distribution
CN1959640A (en) * 2005-11-03 2007-05-09 国际商业机器公司 System and method for representing user process to software package in software package management system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1363882A (en) * 2001-01-05 2002-08-14 国际商业机器公司 System and method for service and role based software distribution
CN1959640A (en) * 2005-11-03 2007-05-09 国际商业机器公司 System and method for representing user process to software package in software package management system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUQING LAN 等: "Visualization Methods on Linux Software Packages Dependency Relations", 《PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON INTELLIGENT INFORMATION SYSTEMS AND APPLICATIONS》, 30 October 2009 (2009-10-30) *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945155A (en) * 2012-10-22 2013-02-27 中标软件有限公司 Linux operation system software package and dependency deficiency detecting method thereof
CN104077140A (en) * 2014-07-04 2014-10-01 用友软件股份有限公司 Automatic compiling method and compiling device for continuous integration
CN104077140B (en) * 2014-07-04 2017-11-07 用友网络科技股份有限公司 Automation Compilation Method and compilation device for continuous integrating
CN105446757A (en) * 2014-08-21 2016-03-30 阿里巴巴集团控股有限公司 Data packet processing method and device
CN105446757B (en) * 2014-08-21 2019-09-17 阿里巴巴集团控股有限公司 A kind of processing method and equipment of data packet
CN104462352A (en) * 2014-12-04 2015-03-25 北京国双科技有限公司 Data packing method and device
CN104462352B (en) * 2014-12-04 2018-04-06 北京国双科技有限公司 Data packing method and device
CN104461567A (en) * 2014-12-24 2015-03-25 北京奇虎科技有限公司 Method and system for releasing software package
CN105787299A (en) * 2015-12-22 2016-07-20 中软信息系统工程有限公司 Method for making cpk software package with security identifier
CN105787299B (en) * 2015-12-22 2020-06-19 中软信息系统工程有限公司 Manufacturing method of cpk software package with safety identification
CN106294160B (en) * 2016-08-12 2019-09-03 福建天泉教育科技有限公司 Check the method and system for relying on packet legitimacy
CN106294160A (en) * 2016-08-12 2017-01-04 福建天泉教育科技有限公司 Check the method and system relying on bag legitimacy
CN107133521A (en) * 2017-05-12 2017-09-05 天津大学 Demand for security template construction method based on demand for security meta-model
CN108255499B (en) * 2017-07-28 2019-09-17 新华三大数据技术有限公司 Component processing method and device
CN108255499A (en) * 2017-07-28 2018-07-06 新华三大数据技术有限公司 component processing method and device
CN107678776A (en) * 2017-08-09 2018-02-09 上海壹账通金融科技有限公司 Multimode version dependence construction method, device, server and storage medium
CN112230976A (en) * 2020-09-01 2021-01-15 麒麟软件有限公司 Method for simultaneously supporting two software package managers and supporting mutual dependence and conflict detection of software packages
CN112230976B (en) * 2020-09-01 2023-07-18 麒麟软件有限公司 Method for simultaneously supporting two software package managers and supporting software package interdependence and conflict detection

Similar Documents

Publication Publication Date Title
CN102109991A (en) Software package dependency relationship modeling method
US8756489B2 (en) Method and system for dynamic assembly of form fragments
US20120054147A1 (en) System and method for extract, transform, and load workflow generation
US9274783B2 (en) Dynamic delivery and integration of static content into cloud
JP2006252557A (en) Method and system for managing development object for computer program code
US7756819B2 (en) Integrated authoring system for electronic technical manual and paper technical manual using logistics support analysis data and authoring method therefor
EP1830275A1 (en) Information distribution system
US20080104082A1 (en) Method of constructing a remotely editable machine-readable document
US20100057760A1 (en) Generic data retrieval
Domínguez et al. Evolution of XML schemas and documents from stereotyped UML class models: A traceable approach
US20090077462A1 (en) Document processing device and document processing method
US20100169333A1 (en) Document processor
US7017147B2 (en) Computer readable medium, method, and system for supporting system development
CN101288072B (en) Transfer and conversion of data structure
US20070198915A1 (en) Document Processing Device And Document Processing Method
US20070208995A1 (en) Document Processing Device and Document Processing Method
US20080127136A1 (en) Software build system, software build method, and recording medium storing software build program
US20090125804A1 (en) Generating schema-specific dita specializations during generic schema transformations
CN103984554A (en) Software design document generating method and device
KR100337373B1 (en) A method for Managing Design Information in CAD system
CN103713864B (en) Book ticket output device and book ticket output method
Mulder et al. Towards enterprise-grade tool support for DEMO
US8209350B1 (en) Storing and maintaining consistency among folios holding associated information
US20080104093A1 (en) Time Sharing Managing Apparatus, Document Creating Apparatus, Document Reading Apparatus, Time Sharing Managing Method, Document Creating Method, and Document Reading Method
JP4120879B2 (en) Program generation system and method and program thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIHANG UNIVERSITY

Free format text: FORMER OWNER: LAN YUQING

Effective date: 20130717

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100084 HAIDIAN, BEIJING TO: 100191 HAIDIAN, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20130717

Address after: 100191 Haidian District, Xueyuan Road, No. 37,

Applicant after: Beihang University

Address before: 205, room 2, building 15, building 100084, brown stone garden, Dongmen east gate, Old Summer Palace, Beijing, Haidian District

Applicant before: Lan Yuqing

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110629