Method for managing versions of program documentation based on public clouds and chaotic sequences
By utilizing digital file fingerprint technology generated from chaotic sequences on a public cloud platform, the version management of global and module program documents is automated, solving the problem of version inconsistency in large and medium-sized software projects and improving software development efficiency and quality.
Patent Information
- Application Number
- CN202210983364.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-16
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2042-08-16
AI Technical Summary
In software system development, version control of program documentation suffers from inconsistencies and conflicts, especially in large and medium-sized software projects involving multiple teams, making it difficult to guarantee software quality.
A program document version management method based on public cloud and chaotic sequences is adopted. The program documents are divided into two categories: global and module. The chaotic sequence is used to generate digital file fingerprints, automatically compare file content changes, and realize version management and automatic update of version information through AC string matching algorithm.
It has enabled automated management of program documentation versions, improved the development efficiency and quality assurance of software projects, reduced version conflicts, and promoted the standardization and compatibility of software systems.
Smart Images

Figure CN115221328B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to software engineering and software quality assurance, in particular to a program document version management method based on public cloud and chaotic sequence, and belongs to the field of computer software. BACKGROUND
[0002] Software engineering is the basis of computer software system development and design. In software engineering, program development documents are important files for software code programming and later software quality assurance. In order to effectively develop, design, and manage software projects, effective methods for managing software documents are important factors that cannot be ignored by programmers, project managers, and development teams.
[0003] In large and medium-sized software projects, after the initial project requirement analysis, project managers, development teams, and programmers need to redefine the software content, build the architecture, divide the modules, and consider different data interfaces and compatibility, etc. Therefore, an important data file in the development of large and medium-sized software projects is the program document.
[0004] In large and medium-sized software systems, due to the use of modular design or object-oriented development methods, program module description documents and summary specifications, etc. are needed before designing the program. In these documents, the core problem is how to design and develop the program to achieve the on-time and on-budget delivery of the software project. Therefore, a large amount of version information, etc. is needed for document annotation and description during the preparation of the program document.
[0005] In software engineering, the commonly used model is CMM. CMM is the English abbreviation of Capability Maturity Model. CMM is aimed at defining, implementing, measuring, controlling, and improving the quality management of different stages of software systems of software companies, institutions, or organizations. The important purpose of CMM is to control software through software quality management process, use software development and maintenance for process monitoring and improvement of software later, etc. to make software development more standardized and scientific, and provide better tools, methods, and technologies for software quality improvement for software enterprises. CMM can be divided into five levels: Initial, Repeatable, Defined, Managed, and Optimizing. Software companies and enterprises can classify and manage the size, quality assurance, and maintenance of the enterprise through these five levels; the higher the level of the software company and enterprise, the better the development and service quality guarantee of the company and enterprise.
[0006] Since the development of large and medium-sized software projects requires team implementation, the program document of the software is huge and complex. The documents and programs implemented by different programmers are complex and difficult to manage and connect, which will affect the progress of the software project. With the emergence of public cloud, the program document of the company team and project group in different geographical positions can be stored in the public cloud in the company, so as to be shared and used internally. This not only saves the cost of software development, but also provides an effective method for the smooth progress of the software project. Therefore, the use of public cloud technology can realize the effective sharing and management of program document and promote the smooth progress of software project.
[0007] In the technical document of software system, program document is a special type of document, which is special in that: first, program is the basis of software project development. Through the same or different program design language, functional modules are implemented to complete the function of software. Second, in large and medium-sized software projects, program document is often described by "programming language + natural language" method. The purpose of this is to facilitate the continuity and standardization of software project. Whether the current programmer exits or is interrupted accidentally, it will not have adverse effects on the project itself. The new programmer can easily understand and read these standardized documents to take over the subsequent development work. At the same time, it has greater reference effect on the later software quality assurance of CMM. Third, program document is highly professional. In addition to professional programming knowledge, programmers also need to complete different software functions according to certain interfaces, algorithms and data structures. Therefore, a version of program document is very important to programmers and teams.
[0008] Case 1: Programmer A of a software company developed program module M1, and programmer A wrote program document Doc_M1. Programmer A ended the maintenance of program document Doc_M1 after completing the software project, and defined the version of the document as: program document Doc_M1_v_1.0.
[0009] Case 2: In the later maintenance of a software company, the customer needs to upgrade the function of a certain module. Programmer B takes over the software upgrade task, and programmer B understands the main data interface, internal data structure and algorithm of the module after reading the program document Doc_M1_v_1.0, and starts to upgrade the module. Programmer B modifies the original program document version Doc_M1_v_1.0 to a new version Doc_M1_v_2.0B after completing the upgrade task of the software project.
[0010] Case 3: A software company has branch offices in city C and city D. Programmers and teams in city C access program document materials related to the software project through a public cloud and maintain the program document materials with the development team in city D, saving a lot of transportation costs and travel expenses, and being fast and convenient.
[0011] Although the public cloud-based platform can bring fast and convenient access and access to program documents for development teams, different teams have problems maintaining program documents. When two teams implement a project at the same time, there are conflicts and version inconsistencies in the maintenance of program documents with public attributes. For example, in the definition of the common variable Val value in the display database output record, programmer A defines its value as 10 and modifies the program document file; however, programmer B of a different group modifies the common variable Val value to 1 in the program document for testing his own data. Therefore, inconsistency problems in the program document are caused.
[0012] Chaotic sequences have long periods and good randomness, and are widely used in random number generators, cryptographic algorithms, and digital certificates. Digital file digests can be achieved through hashing or hashing methods. If the file content changes, the digital file digest or hash value can be used to identify whether the value has been modified or the file content has changed. SUMMARY
[0013] (I) Technical problems to be solved
[0014] There is a problem of program document version management in software system development.
[0015] Program documents can be divided into global program documents and module program documents. Global program documents are variables, function declarations, interfaces, formulas, symbols, etc. that are uniformly used and defined between modules. Global program documents need to be obtained based on user requirements after demand analysis, and uniformly implement interfaces for data exchange between user function modules, or user-implemented calculation formulas, etc. For example, the interest calculation formula of each branch bank is determined by the head office, and the variables used between each main module are uniformly set. For example, the value of pi is set to 3.14; such a setting will not cause inconsistent calculation results due to different values used by different programmers, such as 3.1415, etc.
[0016] In the global program document, the function declaration of the module is uniformly defined, and each programmer or team can only use it according to the uniform and standardized parameters. In the global program document, special symbols are defined. For example, in the implementation of regular expressions in some programming languages, some special symbols or characters need to be handled separately or specially.
[0017] The module program document is a document used by programmers who compile the module, and a document used by testers to design a test scheme according to the module program document in system module testing. The module program document needs to be actively defined by the programmer, including functions and processes, data structures and algorithms, and the like, and belongs to a document with strong specialization and high technical requirements. The programmer realizes the writing of the module program document through a programming language and a natural language, and defines certain version information. When other programmers modify subsequently, the version information should be continued.
[0018] Compared with the module program document, the global program document has a greater impact on the software system once changed in the development process and testing of the entire software system. Therefore, the management of the global program document should adopt more strict and standardized management, so as to avoid software quality problems caused by inconsistent or conflicting data.
[0019] It can be imagined that the great trouble brought by the inconsistency problem of modifying a variable in a software system with thousands of modules. Therefore, when the program document is managed, the technicality, standardization, interface and compatibility of the program document should be considered, and the version upgrade of the program document and the improvement of the CMM quality system of the enterprise should be paid more attention to for subsequent upgrading and quality assurance.
[0020] (II) TECHNICAL SCHEME
[0021] In order to solve the version management problem of the program document in software engineering, the application provides a program document version management method based on a public cloud and a chaotic sequence, comprising:
[0022] (1) The effective management of the program document in software engineering is realized through the public cloud technology. The public cloud technology can realize the storage, forwarding, downloading, uploading and the like of the shared program document data of the program document, so as to facilitate the development, testing and upgrading and maintenance of the software project of the programmer and the team. In addition, through technical analysis and practice summary, the program document is divided into two types of global program document and module program document for management.
[0023] (2) The user sets the automatic comparison of the file content change, and updates the program document version information. The chaotic sequence is used to realize the digital file fingerprint processing of the global program document. When the version of the global program document changes and the content changes, the version change is verified through the digital file fingerprint. In addition, the content of the module program document is processed by the digital file fingerprint. When the content of the module program document changes, the programmer and the team are reminded of the version change.
[0024] (3) The version of the program document is designed in terms of technology, standardization, interface, compatibility and quality assurance, thereby laying a foundation for the overall improvement of the quality assurance of large and medium-sized software engineering projects.
[0025] A method for program document version management based on public cloud and chaotic sequence, which realizes the program document version management of software project, mainly includes:
[0026] Part_1, the program document of software project is divided into two categories: global program document (GlobalDoc) and module program document (SectionDoc); the program document is stored in the public cloud, and the legal user provides storage, forwarding, download, upload program file function after authorized to enter the public cloud. Specifically:
[0027] Global program document GlobalDoc includes two parts: file header (GlobalDoc_Head) and file data area (GlobalDoc_Body).
[0028] GlobalDoc_Head includes:
[0029] Segment_1: file number information segment, file number information change is recorded as GH_1, when the file number information changes, set GH_1 to 1, otherwise set to 0;
[0030] Segment_2: software project information segment, software project information change is recorded as GH_2, when the software project information changes, set GH_2 to 1, otherwise set to 0;
[0031] Segment_3: team information segment, team information change is recorded as GH_3, when the team information changes, set GH_3 to 1, otherwise set to 0;
[0032] Segment_4: project manager information segment, project manager information change is recorded as GH_4, when the project manager information changes, set GH_4 to 1, otherwise set to 0;
[0033] Segment_5: previous version information segment, previous version information change is recorded as GH_5, when the previous version information changes, set GH_5 to 1, otherwise set to 0;
[0034] Segment_6: current version information segment, current version information change is recorded as GH_6, if the current version information changes, set GH_6 to 1, otherwise set to 0;
[0035] Segment_7: modification description information segment, modification description information change is recorded as GH_7, when the modification description information changes, set GH_7 to 1, otherwise set to 0;
[0036] The digital file fingerprint of global program document GlobalDoc is recorded as GlobalDoc_Index, which is set to all 0 when initialized.
[0037] The file data area of the global program document GlobalDoc_Body includes:
[0038] Segment_8: Global variable area, recording the global variables of the program, the global variable change is recorded as GB_1, when the global variable changes, set GB_1 to 1, otherwise set to 0;
[0039] Segment_9: Function declaration area, recording the function declaration of the software project, the function declaration change is recorded as GB_2, when the function declaration changes, set GB_2 to 1, otherwise set to 0;
[0040] Segment_10: Interface area, recording the interface of the software project, the interface change is recorded as GB_3, when the interface changes, set GB_3 to 1, otherwise set to 0;
[0041] Segment_11: Symbol area, recording the symbols used in the software project, the symbol change is recorded as GB_4, when the symbol changes, set GB_4 to 1, otherwise set to 0;
[0042] Segment_12: Formula area, recording the formulas used in the program of the software project, the formula change is recorded as GB_5, when the formula changes, set GB_5 to 1, otherwise set to 0.
[0043] The module program document SectionDoc includes two parts: file header (SectionDoc_Head) and file data area (SectionDoc_Body).
[0044] The file header of the module program document SectionDoc_Head includes:
[0045] Segment_1: File number information segment, file number information change is recorded as SH_1, when the file number information changes, set SH_1 to 1, otherwise set to 0;
[0046] Segment_2: Module number segment, module number change is recorded as SH_2, when the module number changes, set SH_2 to 1, otherwise set to 0;
[0047] Segment_3: Module name segment, module name change is recorded as SH_3, when the module name changes, set SH_3 to 1, otherwise set to 0;
[0048] Segment_4: Time-ordered module programmer information segment, module programmer information change is recorded as SH_4, when the module programmer information changes, set SH_4 to 1, otherwise set to 0;
[0049] Segment_5: Previous version information segment, previous version information change is recorded as SH_5, if the previous version information changes, set SH_5 to 1, otherwise set to 0;
[0050] Segment_6: Current version information segment, current version information change is recorded as SH_6, if the current version information changes, set SH_6 to 1, otherwise set to 0;
[0051] Segment_7: Modification information segment, modification information change is recorded as SH_7, when the modification information changes, set SH_7 to 1, otherwise set to 0;
[0052] The digital file fingerprint of the module program document SectionDoc is recorded as SectionDoc_Index, which is set to all 0 when initialized.
[0053] SectionDoc_Body includes:
[0054] Segment_8: Function and class declaration area, records the function and class declaration in the software project, and the function and class declaration change in the software project is recorded as SB_1, when the function and class declaration changes, set SB_1 to 1, otherwise set to 0;
[0055] Segment_9: External module reference area, records the external module reference of the software project, and the external module reference change is recorded as SB_2, when the external module reference changes, set SB_2 to 1, otherwise set to 0;
[0056] Segment_10: Black box test information area, records the black box test in software testing, and the black box test information change is recorded as SB_3, when the black box test information changes, set SB_3 to 1, otherwise set to 0;
[0057] Segment_11: White box test information area, records the white box test in software testing, and the white box test information change is recorded as SB_4, when the white box test information changes, set SB_4 to 1, otherwise set to 0;
[0058] Segment_12: Function and class definition area, records the code of the function and class definition implemented by the module programmer, and the function and class definition change is recorded as SB_5, when the function and class definition changes, set SB_5 to 1, otherwise set to 0.
[0059] Part_1 is described.
[0060] Part_2, set program document automatic comparison content, through AC string matching algorithm for text comparison analysis; using chaotic sequence generation program document digital file fingerprint. Specifically:
[0061] Program document Doc normalized form is:
[0062] Doc={Segment_1, Segment_2, Segment_3, Segment_4, Segment_5, Segment_6, Segment_7, Segment_8, Segment_9, Segment_10, Segment_11, Segment_12};
[0063] Each part Segment in program document Doc has a start and end flag, which can be distinguished from each other when string matching. When the file number information segment Segment_1 is the same, the set content comparison is automatically performed, and the programmer and development team are reminded of the content change.
[0064] AC string matching function TextComp_ACStringMatch(Doc1, Doc2) realizes the automatic content comparison of each part change of the normalized program document; wherein, the TextComp_ACStringMatch function compares the content change of the corresponding part Segment of the normalized program document through the AC string matching algorithm, Doc1 represents the program document given by the user, and Doc2 represents the program document to be compared. For example: Segment_2 of global program document GlobalDoc is software project information segment, if TextComp_ACStringMatch function detects software project information change, then set GH_2 of program document Doc2 to 1.
[0065] Logistic chaotic mapping is used to realize the generation of chaotic sequence. Logistic chaotic mapping is defined as:
[0066] x n+1 = x n *c*(1-x n ), the value of control parameter c is between (3.6, 4), and chaotic iteration sequence x n belongs to positive decimal numbers in (0, 1).
[0067] ConvertStrNum (String, Num, downval, upval) is a function that converts a string String into a real number Num, which is mapped between the interval (downval, upval); where downval is the lower bound of the interval, and upval is the upper bound of the interval. For example: ConvertStrNum (Segment_1, Num, 3.6, 4) converts the string Segment_1 into a real number Num between (3.6, 4).
[0068] ConvertNumBit (Num, Bit, TotalPos) is a function that converts a number Num into a binary number Bit, where TotalPos represents the number of bits of the binary number Bit, and if the number of bits of the binary number Bit is less than TotalPos, the high bits are supplemented with 0.
[0069] The length of the digital file fingerprint GlobalDoc_Index of the global program document GlobalDoc and the digital file fingerprint SectionDoc_Index of the module program document SectionDoc is set to 128 bits.
[0070] After automatic content comparison, the global program document GlobalDoc generates a content change vector S_gd:
[0071] S_gd = {GH_1, GH_2, GH_3, GH_4, GH_5, GH_6, GH_7, GB_1, GB_2, GB_3, GB_4, GB_5}
[0072] Initialize the Logistic chaotic mapping to generate x0 and c.
[0073] Combine each element of the vector S_gd into a string Str_sgd.
[0074] x0 = ConvertStrNum (Str_sgd, Num1, 0, 1), and assign the obtained value Num1 to x0.
[0075] c = ConvertStrNum (Segment_1, Num2, 3.6, 4), where Segment_1 is the file number information segment of the global program document GlobalDoc, and the obtained value Num2 is assigned to c.
[0076] After initializing the Logistic chaotic mapping and iterating it 1000 times, continue to iterate the Logistic chaotic mapping 12 times, and record the generated x nConvertNumBit(x, Bit, 10) is used to convert x into the first 120 bits of GlobalDoc_Index. n
[0077] The last byte of GlobalDoc_Index, CheckByte_G, is set to parity, each bit CBg is as follows:
[0078] CheckByte_G = {CBg_1, CBg_2, CBg_3, CBg_4, CBg_5, CBg_6, CBg_7, CBg_8}; where,
[0079] CBg_1 checks GH_1 and GH_2, when GH_1 and GH_2 are odd, CBg_1 is set to 1, when GH_1 and GH_2 are even, CBg_1 is set to 0;
[0080] CBg_2 checks GH_3 and GH_4, when GH_3 and GH_4 are odd, CBg_2 is set to 1, when GH_3 and GH_4 are even, CBg_2 is set to 0;
[0081] CBg_3 checks GH_5 and GH_6, when GH_5 and GH_6 are odd, CBg_3 is set to 1, when GH_5 and GH_6 are even, CBg_3 is set to 0;
[0082] CBg_4 checks GH_7 and GB_1, when GH_7 and GB_1 are odd, CBg_4 is set to 1, when GH_7 and GB_1 are even, CBg_4 is set to 0;
[0083] CBg_5 checks GB_2 and GB_3, when GB_2 and GB_3 are odd, CBg_5 is set to 1, when GB_2 and GB_3 are even, CBg_5 is set to 0;
[0084] CBg_6 checks GB_4 and GB_5, when GB_4 and GB_5 are odd, CBg_6 is set to 1, when GB_4 and GB_5 are even, CBg_6 is set to 0;
[0085] CBg_7 checks CBg_1, CBg_2 and CBg_3, when CBg_1, CBg_2 and CBg_3 are odd, CBg_7 is set to 0, when CBg_1, CBg_2 and CBg_3 are even, CBg_7 is set to 1;
[0086] CBg_8 is set to 0 when CBg_4, CBg_5 and CBg_6 are odd, and CBg_8 is set to 1 when CBg_4, CBg_5 and CBg_6 are even.
[0087] The module program document SectionDoc generates the content change vector S_sd after automatic content comparison,
[0088] S_sd = {SH_1, SH_2, SH_3, SH_4, SH_5, SH_6, SH_7, SB_1, SB_2, SB_3, SB_4, SB_5};
[0089] Initialize the Logistic chaotic mapping to generate x0 and c.
[0090] Merge each element of the vector S_sd into a string Str_ssd.
[0091] x0 = ConvertStrNum(Str_ssd, Num3, 0, 1), and the obtained numerical value Num3 is assigned to x0.
[0092] c = ConvertStrNum(Segment_1, Num4, 3.6, 4), where Segment_1 is the file number information segment of the module program document SectionDoc, and the obtained numerical value Num4 is assigned to c.
[0093] After initializing the Logistic chaotic mapping and iterating it 1000 times, continue iterating the Logistic chaotic mapping 12 times, and record the generated x n ConvertNumBit(x n , Bit, 10) to the first 120 bits of SectionDoc_Index.
[0094] The last byte CheckByte_S of SectionDoc_Index is set to parity check, and each bit CBs is specifically:
[0095] CheckByte_S = {CBs_1, CBs_2, CBs_3, CBs_4, CBs_5, CBs_6, CBs_7, CBs_8}; wherein,
[0096] CBs_1 checks SH_1 and SH_2, and CBs_1 is set to 1 when SH_1 and SH_2 are odd, and CBs_1 is set to 0 when SH_1 and SH_2 are even;
[0097] CBs_2 checks SH_3 and SH_4, when SH_3 and SH_4 are odd, CBs_2 is set to 1, when SH_3 and SH_4 are even, CBs_2 is set to 0;
[0098] CBs_3 checks SH_5 and SH_6, when SH_5 and SH_6 are odd, CBs_3 is set to 1, when SH_5 and SH_6 are even, CBs_3 is set to 0;
[0099] CBs_4 checks SH_7 and SB_1, when SH_7 and SB_1 are odd, CBs_4 is set to 1, when SH_7 and SB_1 are even, CBs_4 is set to 0;
[0100] CBs_5 checks SB_2 and SB_3, when SB_2 and SB_3 are odd, CBs_5 is set to 1, when SB_2 and SB_3 are even, CBs_5 is set to 0;
[0101] CBs_6 checks SB_4 and SB_5, when SB_4 and SB_5 are odd, CBs_6 is set to 1, when SB_4 and SB_5 are even, CBs_6 is set to 0;
[0102] CBs_7 checks CBs_1, CBs_2 and CBs_3, when CBs_1, CBs_2 and CBs_3 are odd, CBs_7 is set to 0, when CBs_1, CBs_2 and CBs_3 are even, CBs_7 is set to 1;
[0103] CBs_8 checks CBs_4, CBs_5 and CBs_6, when CBs_4, CBs_5 and CBs_6 are odd, CBs_8 is set to 0, when CBs_4, CBs_5 and CBs_6 are even, CBs_8 is set to 1.
[0104] Part_2 is described.
[0105] Part_3, the version of the program document is classified according to technology, standardization, interface, compatibility and quality assurance, and is effectively evaluated through fitting calculation. Specifically:
[0106] The indexes of technology, standardization, interface, compatibility and quality assurance are divided into five levels. Each level is set to a score: level 1 corresponds to a score of 1, level 2 corresponds to a score of 2, level 3 corresponds to a score of 3, level 4 corresponds to a score of 4, and level 5 corresponds to a score of 5.
[0107] The parameter STD_Tech of technology is graded as: STD_Tech={ST_1, ST_2, ST_3, ST_4, ST_5};
[0108] The standardized parameter STD_Form has the following levels: STD_Form={SF_1, SF_2, SF_3, SF_4, SF_5};
[0109] The interface parameter STD_Inte has the following levels: STD_Inte={SI_1, SI_2, SI_3, SI_4, SI_5};
[0110] The compatibility parameter STD_Adapt has the following levels: STD_Adapt={SA_1, SA_2, SA_3, SA_4, SA_5};
[0111] The quality assurance parameter STD_Qual has the following levels: STD_Qual={SQ_1, SQ_2, SQ_3, SQ_4, SQ_5};
[0112] The fitting calculation formula is:
[0113] Score(Doc)=[Ave(STD_Tech)+Ave(STD_Form)+Ave(STD_Inte)+Ave(STD_Adapt)+Ave(STD_Qual)] / 5;
[0114] Wherein, Score(Doc) represents the evaluation score value obtained by the program document Doc, the function Ave(STD) represents the average value of the level of the index STD, and the higher the value of Score is, the higher the quality assurance is.
[0115] (Three) Beneficial effects
[0116] The beneficial effects of the present application are as follows:
[0117] (1) The classification of program documents makes the file management content of code in software engineering more clear. Storing and managing program code through public cloud is conducive to speeding up the development and maintenance of software projects, and promotes the improvement of the quality of the software system by the development team and programmers.
[0118] (2) The automatic comparison of the content of program documents brings convenience to programmers and team maintenance of program documents. The digital file fingerprint processing of program documents through chaotic sequences can accurately reflect the changes of program documents and update version information for upgrade management in time. It is conducive to the development and post-maintenance of software projects, and strengthens the version management function of program documents.
[0119] (3) Through the hierarchical evaluation index of technology, standardization, interface, compatibility, quality assurance, the effective evaluation of software project management is realized, which provides a useful reference for software companies and enterprises to improve software systems. BRIEF DESCRIPTION OF DRAWINGS
[0120] Figure 1 is a structural diagram of a method of program document version management based on a public cloud and a chaotic sequence. DETAILED DESCRIPTION
[0121] The embodiments of the present application will be further described in detail below with reference to the accompanying drawings and examples. The following examples are used to illustrate the present application, but cannot be used to limit the scope of the application.
[0122] Example 1: Program document and automatic version content comparison of a certain Web software project.
[0123] Global program document (GlobalDoc) file of a certain Web software project: GlobalDoc.txt.
[0124] Module program document (SectionDoc) files of a certain Web software project: SectionDoc_Server.txt and SectionDoc_Browser.txt; SectionDoc_Server.txt implements the module program of the Server side, and SectionDoc_Browser.txt implements the module program of the browser side.
[0125] GlobalDoc.txt, SectionDoc_Server.txt and SectionDoc_Browser.txt are stored in the public cloud of the company, and authorized users can store, forward, download and upload program files after entering the public cloud.
[0126] The program document automatic version content comparison is performed by the AC string matching function TextComp_ACStringMatch(Doc1, Doc2). Doc1 is set as the original file in the public cloud, and Doc2 is the current file uploaded to the public cloud.
[0127] The program document Doc is normalized as:
[0128] Doc={Segment_1, Segment_2, Segment_3, Segment_4, Segment_5, Segment_6, Segment_7, Segment_8, Segment_9, Segment_10, Segment_11, Segment_12}.
[0129] When program documents Doc1 and Doc2 have the same Segment_1, if the content changes, prompt version upgrade.
[0130] GlobalDoc.txt includes: file header (GlobalDoc_Head) and file data area (GlobalDoc_Body).
[0131] GlobalDoc_Head includes:
[0132] Segment_1: file number information segment, assuming that the file number does not change, set GH_1=0.
[0133] Segment_2: software project information segment. Assuming that the software project information segment includes two items: the first item is the project planning time of 3 years; the second item is a domestic project; assuming that the first item project time is adjusted from the original 3 years to 2 years and a half, therefore, the first item changes, GH_2 is set to "10", where the first item changes, so it is set to "1", and the second item does not change, so it is set to "0".
[0134] Segment_3: team information segment, assuming that the team information does not change, set GH_3=0.
[0135] Segment_4: project manager information segment, assuming that the project manager information changes, set GH_4=1.
[0136] Segment_5: previous version information segment, assuming that the previous version information does not change, set GH_5=0.
[0137] Segment_6: current version information segment, assuming that the current version information does not change, set GH_6=0.
[0138] Segment_7: modification note information segment, assuming that the modification note information changes, set GH_7=1.
[0139] The digital file fingerprint of the global program document GlobalDoc is GlobalDoc_Index, which is set to all 0 when initialized.
[0140] The file data area GlobalDoc_Body of the global program document includes:
[0141] Segment_8: global variable area, assuming that the global variable area changes, set GB_1=1.
[0142] Segment_9: Function declaration section, assume no change in function declaration section, set GB_2 = 0.
[0143] Segment_10: Interface section, assume no change in interface section, set GB_3 = 0.
[0144] Segment_11: Symbol section, assume no change in symbol section, set GB_4 = 0.
[0145] Segment_12: Formula section; assume no change in formula section, set GB_5 = 0.
[0146] Vector S_gd of global program document GlobalDoc.txt,
[0147] S_gd = {GH_1, GH_2, GH_3, GH_4, GH_5, GH_6, GH_7, GB_1, GB_2, GB_3, GB_4, GB_5}
[0148] The corresponding values are: {0, 10, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0}.
[0149] Vector of module program document:
[0150] S_sd = {SH_1, SH_2, SH_3, SH_4, SH_5, SH_6, SH_7, SB_1, SB_2, SB_3, SB_4, SB_5}
[0151] Given the vector S_sd of module program document SectionDoc_Server.txt, the corresponding values are:
[0152] {0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0}.
[0153] Given the vector S_sd of module program document SectionDoc_Browser.txt, the corresponding values are:
[0154] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}.
[0155] Example 2: Generate digital file fingerprints using chaotic sequences.
[0156] Calculate the digital file fingerprint of global program document GlobalDoc.txt using the Logistic chaotic map.
[0157] Initialize the Logistic chaotic map to generate x0 and c. Merge each element of the vector S_gd into a string Str_sgd.
[0158] Thus, Str_sgd = "0100100110000".
[0159] x0 = ConvertStrNum(Str_sgd, Num1, 0, 1), and the obtained value Num1 is assigned to x0.
[0160] Thus, x0 = 0.498.
[0161] c = ConvertStrNum(Segment_1, Num2, 3.6, 4), where Segment_1 is the file number information segment of the global program document GlobalDoc, and the obtained value Num2 is assigned to c.
[0162] Suppose c = 3.9 is set.
[0163] After initializing the Logistic chaotic map for 1000 iterations, continue to iterate the Logistic chaotic map for 12 times, and convert each generated x n to GlobalDoc_Index using ConvertNumBit(x n , Bit, 10), the first 120 bits of which are:
[0164] {1000011100-0100001110-1001101000-0001010010-0100100101-1001011101-
[0165] 0000100101-0011001101-1000011100-0100001110-1001101000-0001010010}
[0166] The last byte CheckByte_G of GlobalDoc_Index is set to parity check, specifically:
[0167] CheckByte_G = {CBg_1, CBg_2, CBg_3, CBg_4, CBg_5, CBg_6, CBg_7, CBg_8}; where,
[0168] CBg_1 checks GH_1 and GH_2, and when GH_1 and GH_2 are odd, CBg_1 is set to 1, and when GH_1 and GH_2 are even, CBg_1 is set to 0; thus, CBg_1 = 1.
[0169] CBg_2 checks GH_3 and GH_4, therefore, CBg_2 = 1.
[0170] CBg_3 checks GH_5 and GH_6, therefore, CBg_3 = 0.
[0171] CBg_4 checks GH_7 and GB_1, therefore, CBg_4 = 0.
[0172] CBg_5 checks GB_2 and GB_3, therefore, CBg_5 = 0.
[0173] CBg_6 checks GB_4 and GB_5, therefore, CBg_6 = 0.
[0174] CBg_7 checks CBg_1, CBg_2 and CBg_3, therefore, CBg_7 = 1.
[0175] CBg_8 checks CBg_4, CBg_5 and CBg_6, therefore, CBg_8 = 1.
[0176] CheckByte_G = {11000011}.
[0177] Therefore, the digital file fingerprint of the global program document GlobalDoc.txt = GlobalDoc_Index = {11000011}.
[0178] {1000011100-0100001110-1001101000-0001010010-0100100101-1001011101-
[0179] 0000100101-0011001101-1000011100-0100001110-1001101000-0001010010-
[0180] 11000011}.
[0181] The digital file fingerprint of the module program document SectionDoc_Server.txt is calculated using the Logistic chaotic mapping in the following.
[0182] Initialize the Logistic chaotic mapping to generate x0 and c.
[0183] Merge each element of the vector S_sd of the module program document SectionDoc_Server.txt into a string Str_ssd.
[0184] Therefore, Str_ssd = "000100110000".
[0185] x0 = ConvertStrNum (Str_ssd, Num3, 0, 1), Num3 is assigned to x0.
[0186] Thus, x0 = 0.13.
[0187] c = ConvertStrNum (TempStrl, Num4, 3.6, 4), where TempStrl is assumed to be a string given by the user, Num4 is assigned to c.
[0188] Suppose c = 3.9 is set.
[0189] After the Logistic chaotic map is initialized to iterate 1000 times, the Logistic chaotic map is continued to iterate 12 times, and x n is converted to SectionDoc_Index by ConvertNumBit (x n , Bit, 10), the first 120 bits of which are:
[0190] {1001101000-0001001101-0100010101-1001101001-0001001000-0100000110-
[0191] 1001010010-0001100010-0101100110-1001001101-0010001010-0110100010}
[0192] The last byte of SectionDoc_Index, CheckByte_S, is a parity check, which is:
[0193] CheckByte_S = {CBs_l, CBs_2, CBs_3, CBs_4, CBs_5, CBs_6, CBs_7, CBs_8}; where,
[0194] CBs_l checks SH_l and SH_2, thus CBs_l = 0.
[0195] CBs_2 checks SH_3 and SH_4, thus CBs_2 = 1.
[0196] CBs_3 checks SH_5 and SH_6, thus CBs_3 = 0.
[0197] CBs_4 checks SH_7 and SB_l, thus CBs_4 = 0.
[0198] CBs_5 checks SB_2 and SB_3, thus CBs_5 = 0.
[0199] CBs_6 checks SB_4 and SB_5, thus CBs_6 = 0.
[0200] CBs_7 checks CBs_1, CBs_2 and CBs_3, thus CBs_7 = 0.
[0201] CBs_8 checks CBs_4, CBs_5 and CBs_6, thus CBs_8 = 1.
[0202] CheckByte_S = {01000001}.
[0203] Thus, the digital file fingerprint of module program document SectionDoc_Server.txt is SectionDoc_Index = {1001101000-0001001101-0100010101-1001101001-0001001000-0100000110-1001010010-0001100010-0101100110-1001001101-0010001010-0110100010-01000001}.
[0204] {1001101000-0001001101-0100010101-1001101001-0001001000-0100000110-1001010010-0001100010-0101100110-1001001101-0010001010-0110100010-01000001}.
[0205] 1001010010-0001100010-0101100110-1001001101-0010001010-0110100010-01000001}.
[0206] 01000001}.
[0207] Comparing the vector S_gd of program file GlobalDoc.txt and the vector S_sd of program file SectionDoc_Server.txt, S_gd = {0100100110000} and S_sd = {000100110000}.
[0208] The two vectors only differ by one 1. In the case of the same control parameter c of Logistic chaotic mapping. From the first 120 bits of the digital file fingerprint of program document, there are about 70 bits different, accounting for nearly 60%. Thus, chaotic sequence can achieve accurate identification of digital fingerprint of program document.
[0209] Now we assume a very special case.
[0210] Calculate the digital file fingerprint of module program document SectionDoc_Browser.txt using Logistic chaotic mapping.
[0211] Initialize the Logistic chaotic map to generate x0 and c. Merge each element of the vector S_sd of the module program document SectionDoc_Browser.txt into a string Str_ssd. Thus, Str_ssd = "000000000000".
[0212] x0 = ConvertStrNum(Str_ssd, Num3, 0, 1), and the obtained value Num3 is assigned to x0.
[0213] Thus, x0 = 0.
[0214] c = ConvertStrNum(TempStr2, Num4, 3.6, 4), where TempStr2 is assumed to be a string given by the user, and the obtained value Num4 is assigned to c.
[0215] Set c = 3.9.
[0216] Obviously, the Logistic chaotic map is iterating at the "0" fixed point. Merge each generated x n ConvertNumBit(x n , Bit, 10) into SectionDoc_Index, the first 120 bits of which are:
[0217] {0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-
[0218] 0000000000-0000000000-0000000000-0000000000-0000000000-0000000000}
[0219] The last byte CheckByte_S of SectionDoc_Index is the parity check, which is:
[0220] CheckByte_S = {CBs_1, CBs_2, CBs_3, CBs_4, CBs_5, CBs_6, CBs_7, CBs_8}; where,
[0221] CBs_1 checks SH_1 and SH_2, thus CBs_1 = 0.
[0222] CBs_2 checks SH_3 and SH_4, thus CBs_2 = 0.
[0223] CBs_3 checks SH_5 and SH_6, thus CBs_3 = 0.
[0224] CBs_4 checks SH_7 and SB_1, thus CBs_4 = 0.
[0225] CBs_5 checks SB_2 and SB_3, thus CBs_5 = 0.
[0226] CBs_6 checks SB_4 and SB_5, thus CBs_6 = 0.
[0227] CBs_7 checks CBs_1, CBs_2 and CBs_3, thus CBs_7 = 1.
[0228] CBs_8 checks CBs_4, CBs_5 and CBs_6, thus CBs_8 = 1.
[0229] CheckByte_S = {00000011}.
[0230] Thus, the digital file fingerprint of the module program document SectionDoc_Browser.txt is SectionDoc_Index = {0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-00000011}.
[0231] {0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-00000011}.
[0232] 0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-0000000000-00000011}.
[0233] 00000011}.
[0234] The digital file fingerprint of the module program document SectionDoc_Browser.txt is initialized as 0. However, the data check bits CBs_7 and CBs_8 are not 0 after the check processing. Such processing can effectively check the correctness of the file and identify the different states of the file.
[0235] In summary, such design is beneficial to the effective management of the version of the program document by the programmers and project teams.
[0236] Example 3: Effective evaluation of the version of the program document of the software system.
[0237] The technicality, standardization, interface, compatibility and quality assurance level can effectively evaluate the version of the program document. Each level is assigned a score: level 1 corresponds to a score of 1, level 2 corresponds to a score of 2, and so on.
[0238] The technical parameter STD_Tech has levels: STD_Tech={ST_1, ST_2, ST_3, ST_4, ST_5}.
[0239] The standardized parameter STD_Form has levels: STD_Form={SF_1, SF_2, SF_3, SF_4, SF_5}.
[0240] The interface parameter STD_Inte has levels: STD_Inte={SI_1, SI_2, SI_3, SI_4, SI_5}.
[0241] The compatibility parameter STD_Adapt has levels: STD_Adapt={SA_1, SA_2, SA_3, SA_4, SA_5}.
[0242] The quality assurance parameter STD_Qual has levels: STD_Qual={SQ_1, SQ_2, SQ_3, SQ_4, SQ_5}.
[0243] The fitting calculation formula is:
[0244] Score(Doc)=[Ave(STD_Tech)+Ave(STD_Form)+Ave(STD_Inte)+Ave(STD_Adapt)+Ave(STD_Qual)] / 5;
[0245] Wherein, Score(Doc) represents the obtained evaluation score value of the program document Doc, the function Ave(STD) represents the average value of the levels of the index STD, and the higher the value of Score corresponds to the higher quality assurance.
[0246] Suppose the grading index of the global program document GlobalDoc.txt is:
[0247] {ST_1, SF_1, SI_1, SA_1, SQ_1}
[0248] Suppose the grading index of the module program document SectionDoc_Server.txt is:
[0249] {ST_2, SF_2, SI_2, SA_2, SQ_2}
[0250] Suppose the grading index of the module program document SectionDoc_Browser.txt is:
[0251] {ST_1, SF_3, SI_4, SA_5, SQ_1}
[0252] Score(Doc) = [Ave(STD_Tech) + Ave(STD_Form) + Ave(STD_Inte) + Ave(STD_Adapt) + Ave(STD_Qual)] / 5.
[0253] Score(Doc) = 1.93.
[0254] By the reference level of CMM, the program document of the software project has approached the Repeatable level, so the quality assurance level of the software company and enterprise can be effectively evaluated.
[0255] Finally, it should be noted that the above examples are used to illustrate the technical method of the present application, but not to limit it; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art should understand that the technical solutions recorded in the foregoing examples can still be modified, or some technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the examples of the present application.
Claims
1. A method for program document version management based on public cloud and chaotic sequence, characterized in that, Comprise: Part_1, the program document of software project is divided into two categories: global program document and module program document, the program document is stored in public cloud, and the legal user provides storage, forwarding, download, upload program file function after being authorized to enter the public cloud; Part_2, the content of program document is compared automatically through AC string matching algorithm, the content change of program document is recorded, and the digital file fingerprint of program document is generated by using chaotic sequence; Part_3, the version of program document is classified according to technology, standardization, interface, compatibility and quality assurance, and the evaluation value is obtained by fitting calculation; The specific description is as follows: Part_1 comprises: The global program document is represented as GlobalDoc, the module program document is represented as SectionDoc, GlobalDoc includes two parts: file header and file data area, the file header is represented as GlobalDoc_Head, and the file data area is represented as GlobalDoc_Body, GlobalDoc_Head comprises: Segment_1: file number information segment, file number information change is recorded as GH_1, when the file number information changes, GH_1 is set to 1, otherwise, it is set to 0; Segment_2: software project information segment, software project information change is recorded as GH_2, when the software project information changes, GH_2 is set to 1, otherwise, it is set to 0; Segment_3: team information segment, team information change is recorded as GH_3, when the team information changes, GH_3 is set to 1, otherwise, it is set to 0; Segment_4: project manager information segment, project manager information change is recorded as GH_4, when the project manager information changes, GH_4 is set to 1, otherwise, it is set to 0; Segment_5: previous version information segment, previous version information change is recorded as GH_5, when the previous version information changes, GH_5 is set to 1, otherwise, it is set to 0; Segment_6: current version information segment, current version information change is recorded as GH_6, if the current version information changes, GH_6 is set to 1, otherwise, it is set to 0; Segment_7: modification instruction information segment, modification instruction information change is recorded as GH_7, when the modification instruction information changes, GH_7 is set to 1, otherwise, it is set to 0; The digital file fingerprint of GlobalDoc is recorded as GlobalDoc_Index, which is initialized as all 0; GlobalDoc_Body comprises: Segment_8: global variable area, recording the global variables of the program, global variable change is recorded as GB_1, when the global variable changes, GB_1 is set to 1, otherwise, it is set to 0; Segment_9: function declaration area, recording the function declaration of software project, function declaration change is recorded as GB_2, when the function declaration changes, GB_2 is set to 1, otherwise, it is set to 0; Segment_10: Interface section, records the interface of the software project, interface change is recorded as GB_3, when the interface changes, set GB_3 to 1, otherwise set to 0; Segment_11: Symbol section, records the symbols used in the software project, symbol change is recorded as GB_4, when the symbol changes, set GB_4 to 1, otherwise set to 0; Segment_12: Formula section, records the formulas used in the software project, formula change is recorded as GB_5, when the formula changes, set GB_5 to 1, otherwise set to 0; SectionDoc includes two parts: file header and file data area, file header is represented as SectionDoc_Head, file data area is represented as SectionDoc_Body; SectionDoc_Head includes: Segment_1: File number information segment, file number information change is recorded as SH_1, when the file number information changes, set SH_1 to 1, otherwise set to 0; Segment_2: Module number segment, module number change is recorded as SH_2, when the module number changes, set SH_2 to 1, otherwise set to 0; Segment_3: Module name segment, module name change is recorded as SH_3, when the module name changes, set SH_3 to 1, otherwise set to 0; Segment_4: Time ordered module programmer information segment, module programmer information change is recorded as SH_4, when the module programmer information changes, set SH_4 to 1, otherwise set to 0; Segment_5: Previous version information segment, previous version information change is recorded as SH_5, if the previous version information changes, set SH_5 to 1, otherwise set to 0; Segment_6: Current version information segment, current version information change is recorded as SH_6, if the current version information changes, set SH_6 to 1, otherwise set to 0; Segment_7: Modification note information segment, modification note information change is recorded as SH_7, when the modification note information changes, set SH_7 to 1, otherwise set to 0; SectionDoc digital file fingerprint is recorded as SectionDoc_Index, initialized to all 0; SectionDoc_Body includes: Segment_8: Function and class declaration area, records the function and class declaration in the software project, software project function and class declaration change is recorded as SB_1, when the function and class declaration changes, set SB_1 to 1, otherwise set to 0; Segment_9: External module reference area, records the external module referenced by the software project, external module reference change is recorded as SB_2, when the external module reference changes, set SB_2 to 1, otherwise set to 0; Segment_10: Black box test information area, records the black box test in software testing, black box test information change is recorded as SB_3, when the black box test information changes, set SB_3 to 1, otherwise set to 0; Segment_11: White-box testing information area, records the white-box testing in software testing, white-box testing information change is recorded as SB_4, when the white-box testing information changes, set SB_4 to 1, otherwise set to 0; Segment_12: Function and class definition area, records the code of function and class definition implemented by module programmer, function and class definition change is recorded as SB_5, when the function and class definition changes, set SB_5 to 1, otherwise set to 0; Part_1 description is complete; Part_2 includes: The normalized form of program document Doc is: Doc={Segment_1,Segment_2,Segment_3,Segment_4,Segment_5,Segment_6,Segment_7,Segment_8,Segment_9,Segment_10,Segment_11,Segment_12} Each part Segment in program document Doc has a start and end marker; The AC string matching function TextComp_ACStringMatch(Doc1, Doc2) realizes the automatic content comparison of each part change of the normalized program document, where the TextComp_ACStringMatch function compares the content change of the corresponding Segment of the normalized program document by AC string matching algorithm, Doc1 represents the program document given by the user, and Doc2 represents the program document to be compared; When the file number information Segment_1 is the same, automatic content comparison is performed, and the content change is recorded; Logistic chaotic mapping is used to generate chaotic sequence, and the Logistic chaotic mapping is defined as: x n+1 = x n * (1 - x n ), with the value of the control parameter c being between (3.6, 4), the chaotic iteration sequence x n belongs to the positive decimal numbers of (0, 1); The function ConvertStrNum(String, Num_csn, downval, upval) represents the process of converting a string String to a real number Num_csn, which is mapped between the interval (downval, upval); Where downval is the lower bound of the interval, and upval is the upper bound of the interval; The function ConvertNumBit(Num_cnb, Bit, TotalPos) represents the process of converting a number Num_cnb to a binary number Bit, where TotalPos represents the number of bits of the binary number Bit, and if the number of bits of the binary number Bit is less than TotalPos, the high bits are filled with 0; The length of the digital file fingerprint GlobalDoc_Index of GlobalDoc and the digital file fingerprint SectionDoc_Index of SectionDoc is set to 128 bits; After automatic content comparison, GlobalDoc generates content change vector S_gd: S_gd = {GH_1, GH_2, GH_3, GH_4, GH_5, GH_6, GH_7, GB_1, GB_2, GB_3, GB_4, GB_5} Initialize the Logistic chaotic map to generate x0 and c, and merge each element of the vector S_gd into a string Str_sgd; x 0_csn1 = ConvertStrNum ( Str_sgd, Num1, 0, 1), the value of Num1 is assigned to x 0_csn1 ; c csn1 = ConvertStrNum(String_csn1, Num2, 3.6, 4), where String_csn1 is a user-given string, and the obtained numerical value Num2 is assigned to c csn1 ; After the Logistic chaotic map is initialized and iterated 1000 times; continue to iterate the Logistic chaotic map 12 times, and convert x n_cnb1 into the first 120 bits of GlobalDoc_Index by using ConvertNumBit(x n_cnb1 , Bit_cnb1, 10). The last byte CheckByte_G of GlobalDoc_Index is set to parity, and each bit CBg is as follows: CheckByte_G = {CBg_1, CBg_2, CBg_3, CBg_4, CBg_5, CBg_6, CBg_7, CBg_8} CBg_1 checks GH_1 and GH_2, and is set to 1 when GH_1 and GH_2 are odd, and is set to 0 when GH_1 and GH_2 are even; CBg_2 checks GH_3 and GH_4, and is set to 1 when GH_3 and GH_4 are odd, and is set to 0 when GH_3 and GH_4 are even; CBg_3 checks GH_5 and GH_6, and is set to 1 when GH_5 and GH_6 are odd, and is set to 0 when GH_5 and GH_6 are even; CBg_4 checks GH_7 and GB_1, and is set to 1 when GH_7 and GB_1 are odd, and is set to 0 when GH_7 and GB_1 are even; CBg_5 checks GB_2 and GB_3, and is set to 1 when GB_2 and GB_3 are odd, and is set to 0 when GB_2 and GB_3 are even; CBg_6 checks GB_4 and GB_5, and is set to 1 when GB_4 and GB_5 are odd, and is set to 0 when GB_4 and GB_5 are even; CBg_7 checks CBg_1, CBg_2 and CBg_3, and is set to 0 when CBg_1, CBg_2 and CBg_3 are odd, and is set to 1 when CBg_1, CBg_2 and CBg_3 are even; CBg_8 checks CBg_4, CBg_5 and CBg_6, and is set to 0 when CBg_4, CBg_5 and CBg_6 are odd, and is set to 1 when CBg_4, CBg_5 and CBg_6 are even; After automatic content comparison, SectionDoc generates a content change vector S_sd, S_sd = {SH_1, SH_2, SH_3, SH_4, SH_5, SH_6, SH_7, SB_1, SB_2, SB_3, SB_4, SB_5} Initialize the Logistic chaotic map to generate x0 and c, and merge each element of the vector S_sd into a string Str_ssd; x 0_csn2 = ConvertStrNum ( Str_ssd, Num3, 0, 1), the value of Num3 is assigned to x 0_csn2 ; c csn2 = ConvertStrNum(String_csn2, Num4, 3.6, 4), where String_csn2 is a user-given string, and the obtained numerical value Num4 is assigned to c csn2 ; After the Logistic chaotic mapping is initialized and iterated 1000 times, the Logistic chaotic mapping is iterated 12 times, and x n_cnb2 is converted into the first 120 bits of SectionDoc_Index by ConvertNumBit(x n_cnb2 , Bit_cnb2, 10). The last byte CheckByte_S of SectionDoc_Index is set as parity check, each bit CBs is as follows: CheckByte_S={CBs_1,CBs_2,CBs_3,CBs_4,CBs_5,CBs_6,CBs_7,CBs_8} CBs_1 checks SH_1 and SH_2, when SH_1 and SH_2 are odd, CBs_1 is set as 1, when SH_1 and SH_2 are even, CBs_1 is set as 0; CBs_2 checks SH_3 and SH_4, when SH_3 and SH_4 are odd, CBs_2 is set as 1, when SH_3 and SH_4 are even, CBs_2 is set as 0; CBs_3 checks SH_5 and SH_6, when SH_5 and SH_6 are odd, CBs_3 is set as 1, when SH_5 and SH_6 are even, CBs_3 is set as 0; CBs_4 checks SH_7 and SB_1, when SH_7 and SB_1 are odd, CBs_4 is set as 1, when SH_7 and SB_1 are even, CBs_4 is set as 0; CBs_5 checks SB_2 and SB_3, when SB_2 and SB_3 are odd, CBs_5 is set as 1, when SB_2 and SB_3 are even, CBs_5 is set as 0; CBs_6 checks SB_4 and SB_5, when SB_4 and SB_5 are odd, CBs_6 is set as 1, when SB_4 and SB_5 are even, CBs_6 is set as 0; CBs_7 checks CBs_1, CBs_2 and CBs_3, when CBs_1, CBs_2 and CBs_3 are odd, CBs_7 is set as 0, when CBs_1, CBs_2 and CBs_3 are even, CBs_7 is set as 1; CBs_8 checks CBs_4, CBs_5 and CBs_6, when CBs_4, CBs_5 and CBs_6 are odd, CBs_8 is set as 0, when CBs_4, CBs_5 and CBs_6 are even, CBs_8 is set as 1; Part_2 is described completely; Part_3 includes: The index technology, standardization, interface, compatibility and quality assurance are divided into five grades; each grade is set as score: 1st grade corresponds to score 1, 2nd grade corresponds to score 2, and so on; The parameter STD_Tech of technology is graded as: STD_Tech={ST_1,ST_2,ST_3,ST_4,ST_5} The parameter STD_Form of standardization is graded as: STD_Form={SF_1,SF_2,SF_3,SF_4,SF_5} The parameter STD_Inte of interface is graded as: STD_Inte={SI_1,SI_2,SI_3,SI_4,SI_5} The parameter STD_Adapt of compatibility is graded as: STD_Adapt={SA_1,SA_2,SA_3,SA_4,SA_5} The parameters of quality assurance STD_Qual are ranked as: STD_Qual = {SQ_1, SQ_2, SQ_3, SQ_4, SQ_5} The fitting calculation formula is: Score(Doc) = [Ave(STD_Tech) + Ave(STD_Form) + Ave(STD_Inte) + Ave(STD_Adapt) + Ave(STD_Qual)] / 5; wherein, Score(Doc) represents the evaluation score value obtained by the program document Doc, and the function Ave(STD) represents the average value of the rank of the index STD; Part_3 is described.
Citation Information
Patent Citations
Safe storage system and method
CN101727407A
Multimedia stream file digital copyright protection method based on chaotic random sequence
CN111274550A