WO2024198695A1 - Method for referencing document element, and code development platform - Google Patents
Method for referencing document element, and code development platform Download PDFInfo
- Publication number
- WO2024198695A1 WO2024198695A1 PCT/CN2024/074479 CN2024074479W WO2024198695A1 WO 2024198695 A1 WO2024198695 A1 WO 2024198695A1 CN 2024074479 W CN2024074479 W CN 2024074479W WO 2024198695 A1 WO2024198695 A1 WO 2024198695A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- document
- template
- development platform
- information
- code development
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
Definitions
- the embodiments of the present application relate to the field of cloud computing, and more specifically, to a document element reference method and a code development platform.
- Code development platforms in cloud environments can enable communication and cooperation between developers and operations personnel, and make product building, testing, and release faster, more frequent, and more reliable through automated processes for development and operations maintenance, such as DevOps platforms.
- DevOps comes from the combination of development and operations maintenance.
- code development platforms generally use design documents in online knowledge bases to manage the design content of each development stage in the code development platform, such as product design and drawing modeling through online knowledge base tools.
- each development stage in the code development platform may correspond to different developers or testers, and there may be duplication of content between the design documents corresponding to multiple development stages or design links.
- the current code development platform is difficult to achieve coordination and synchronization of duplicate content between different design documents.
- the embodiments of the present application provide a method for document element reference and a code development platform, which realize automatic reference of document elements between different design documents based on templates, thereby improving the efficiency of information transmission between various development stages or design links of the code development platform.
- a method for document element reference is provided, the method being applied to a code development platform, the code development platform being deployed in a data center, the code development platform being applied to the development of a software product, the development of the software product including at least one of the following development stages: demand management, product design, compilation development, use case testing, or product deployment, the method comprising: the code development platform acquiring a first template of a first development stage, the first development stage being a development stage in the development of the software product; the code development platform determining indication information based on the first template, the indication information being used to indicate a reference to a first document element in a second document of a second development stage, the second development stage being a development stage in the development of the software product, the second document being used to manage product development content of the second development stage; the code development platform constructing a first document based on the indication information and the first template, the first document including the first document element; the code development platform managing the development content of the software product in the first development stage based on the constructed first
- the code development platform determines the indication information based on the first template, including: the code development platform determines the indication information included in the first template, wherein the indication information includes identity information and an indication element of a second template in the second development stage, the indication element is used to describe the first document element, and the second document is constructed based on the second template.
- designers can input indication information in the template, and the code development platform can determine the referenced document elements based on the indication information by traversing the contents in the template, thereby improving the efficiency of referencing document elements.
- the code development platform constructs a first document based on the indication information and the first template, including: the code development platform determines the second document constructed based on the second template based on the identity information of the second template; the code development platform determines the first document element in the second document based on the indication element; the code development platform inserts the first document element in the second document into the first template to obtain the first document.
- the code development platform can directly determine the first document element in the referenced second document based on the identity information of the second template and the indication element carried in the indication information, thereby improving the efficiency of determining the referenced document elements.
- the code development platform determines the instruction information according to the first template, including: The code development platform determines indication information from the associated information of the first template based on the first template, wherein the associated information is used to describe the reference relationship and reference content between the first template and other templates, and the indication information includes reference relationship indication information and reference content indication information, the reference relationship indication information is used to indicate that the first template references the second template in the second development stage, and the reference content indication information is used to describe the first document elements, and the second document is constructed based on the second template.
- a reference and association method between multiple templates is provided to achieve automatic association to reduce the operation of manually inputting indication information.
- the association information corresponds to a knowledge graph
- the code development platform determines the indication information from the association information of the first template according to the first template, including: the code development platform determines the first node corresponding to the first template in the knowledge graph according to the first template; the code development platform determines the reference relationship indication information and the reference content indication information from the knowledge graph according to the first node, wherein the reference relationship indication information is a directed edge from the first node to the second node in the knowledge graph, and the reference content indication information is the edge information of the directed edge, and the second node corresponds to the second template.
- the code development platform can directly determine the first document element in the referenced second document based on the nodes, directed edges and other elements included in the knowledge graph, without the need for designers to manually input indication information, and the efficiency of determining the referenced content is higher.
- the code development platform constructs a first document based on the indication information and the first template, including: the code development platform determines the second document constructed according to the second template based on the reference relationship indication information; the code development platform determines the first document element in the second document based on the reference content indication information; the code development platform inserts the first document element in the second document into the first template to obtain the first document.
- the code development platform can directly determine the referenced content by traversing the association relationship of the first template, thereby improving the efficiency of referencing document elements.
- the reference content indication information is also used to describe the target position information of the first document element; the code development platform determines the first document element in the second document based on the reference content indication information, and also includes: the code development platform determines the target position in the first template corresponding to the target position information based on the reference content indication information; the code development platform inserts the first document element in the second document into the first template to obtain the first document, including: the code development platform inserts the first document element in the second document into the target position in the first template to obtain the first document.
- the method also includes: the code development platform determines that the content of the first document element in the second document has changed to obtain the second document element; the code development platform generates change notification information, which is used to prompt that the first document element in the second document is changed to the second document element.
- the content consistency between various stages of the design process of the code development platform is enhanced by prompting changes in the content of document elements.
- the change notification information is further used to indicate the difference between the first document element and the second document element.
- the designer can quickly determine the content that needs to be modified in the first document through content difference comparison.
- the method before the code development platform generates change notification information, the method also includes: the code development platform determines that key information of the second document element is different from key information of the first document element, and the key information is determined based on the features used to summarize the content of the document element.
- the code development platform determines that the key information of the second document element is different from the key information of the first document element, including: the code development platform determines a similarity value of the key information of the second document element relative to the key information of the first document element; when the similarity value is less than or equal to a similarity threshold, the code development platform determines that the key information of the second document element is different from the key information of the first document element.
- the method further includes: the code development platform determines a keyword of the first document element; the code development platform determines a third document element based on the keyword, and the third document element includes the keyword.
- the recommendation of similar contents of the referenced document elements is realized, so that the designer can have more reference contents when writing the first document.
- a code development platform which is deployed in a data center and applied to the development of software products.
- the development of the software products includes at least one of the following development stages: demand management, product design, compilation development, use case testing or product deployment.
- the code development platform includes: an acquisition module, which is used to acquire a first template of a first development stage, and the first development stage is a development stage in the development of the software product; a processing module, which is used to determine indication information according to the first template, and the indication information is used to indicate a first document element in a second document of a second development stage, and the second development stage is a development stage in the development of the software product, and the second document is used to manage product development content of the second development stage; a construction module, which is used to construct a first document according to the indication information and the first template, and the first document includes a first document element, and manage the development content of the software product in the first development stage according to the constructed first document.
- the processing module is specifically used to: determine the indication information included in the first template, wherein the indication information includes identity information and an indication element of the second template in the second development stage, the indication element is used to describe the first document element, and the second document is constructed based on the second template.
- the processing module is specifically used to: determine the second document constructed according to the second template based on the identity information of the second template, and determine the first document element in the second document based on the indication element; the construction module is specifically used to: insert the first document element in the second document into the first template to obtain the first document.
- the processing module is specifically used to: determine indication information from the associated information of the first template based on the first template, wherein the associated information is used to describe the reference relationship and reference content between the first template and other templates, and the indication information includes reference relationship indication information and reference content indication information, the reference relationship indication information is used to indicate that the first template references the second template in the second development stage, and the reference content indication information is used to describe the first document elements, and the second document is constructed based on the second template.
- the association information corresponds to a knowledge graph
- the processing module is specifically used to: determine, based on the first template, a first node corresponding to the first template in the knowledge graph, and based on the first node, determine reference relationship indication information and reference content indication information from the knowledge graph, wherein the reference relationship indication information is a directed edge in the knowledge graph from the first node to the second node, and the reference content indication information is the edge information of the directed edge, and the second node corresponds to the second template.
- the processing module is specifically used to: determine the second document constructed according to the second template based on the reference relationship indication information, and determine the first document element in the second document based on the reference content indication information; the construction module is specifically used to: insert the first document element in the second document into the first template to obtain the first document.
- the reference content indication information is also used to describe the target position information of the first document element; the processing module is also used to: determine the target position in the first template corresponding to the target position information based on the reference content indication information; the construction module is also used to: insert the first document element in the second document into the target position in the first template to obtain the first document.
- the code development platform also includes a generation module, and the processing module is also used to: determine whether the content of the first document element in the second document has changed to obtain the second document element; the generation module is used to: generate change notification information, and the change notification information is used to prompt that the first document element in the second document is changed to the second document element.
- the change notification information is further used to indicate the difference between the first document element and the second document element.
- the processing module before the generation module generates change notification information, is also used to: determine that the key information of the second document element is different from the key information of the first document element, and the key information is determined based on the features used to summarize the content of the document element.
- the processing module is specifically used to: determine a similarity value of the key information of the second document element relative to the key information of the first document element, and when the similarity value is less than or equal to a similarity threshold, determine that the key information of the second document element is different from the key information of the first document element.
- the processing module is further used to: determine a keyword of the first document element, and determine a third document element based on the keyword, wherein the third document element includes the keyword.
- a computing device comprising a processor and a memory, wherein the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory, so that the computing device executes the method in the first aspect or any possible implementation of the first aspect.
- a computing device cluster comprising at least two computing devices, each computing device comprising a processor and a memory, wherein the memory is used to store instructions, and the processor is used to call and execute the instructions from the memory, so that the computing device cluster executes the method in the first aspect or any possible implementation of the first aspect.
- the processor may be a general-purpose processor, which may be implemented by hardware or software.
- the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor may be a general-purpose processor, which is implemented by reading software codes stored in a memory, which may be integrated in the processor or may be located outside the processor and exist independently.
- a chip which obtains instructions and executes the instructions to implement the method in the above-mentioned first aspect or any possible implementation manner of the first aspect.
- the chip includes a processor and a data interface, and the processor reads instructions stored in the memory through the data interface to execute the method in the above-mentioned first aspect or any possible implementation of the first aspect.
- the chip may also include a memory, in which instructions are stored, and the processor is used to execute the instructions stored in the memory.
- the processor is used to execute the method in the above-mentioned first aspect or any possible implementation method of the first aspect.
- a computer program product comprising instructions.
- the instructions are executed by a computing device or a computing device cluster
- the computing device or the computing device cluster executes the method in the above-mentioned first aspect or any possible implementation manner of the first aspect.
- a computer-readable storage medium comprising computer program instructions.
- the computing device or the computing device cluster executes the method in the above-mentioned first aspect or any possible implementation manner of the first aspect.
- these computer-readable storage media include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), Flash memory, electrically EPROM (EEPROM), and hard drive.
- ROM read-only memory
- PROM programmable ROM
- EPROM erasable PROM
- Flash memory electrically EPROM (EEPROM)
- hard drive electrically EPROM
- the above-mentioned storage medium may specifically be a non-volatile storage medium.
- FIG1 is a schematic diagram of a system based on a cloud server system provided in an embodiment of the present application.
- FIG2 is a schematic diagram of the system architecture of a code development platform provided in an embodiment of the present application.
- FIG3 is a schematic block diagram of a method for referencing document elements provided in an embodiment of the present application.
- FIG. 4 is a schematic diagram of a template and a document provided in an embodiment of the present application.
- FIG5 is a schematic diagram of a template and document reference interface provided in an embodiment of the present application.
- FIG6 is a schematic diagram of a knowledge graph provided in an embodiment of the present application.
- FIG. 7 is a schematic diagram of another template and document reference interface provided in an embodiment of the present application.
- FIG8 is a schematic diagram of a method for change notification provided in an embodiment of the present application.
- FIG. 9 is a schematic diagram of a system architecture of a change notification provided in an embodiment of the present application.
- FIG. 10 is a schematic structural block diagram of a code development platform provided in an embodiment of the present application.
- FIG. 11 is a schematic structural block diagram of a computing device provided in an embodiment of the present application.
- FIG. 12 is a schematic structural block diagram of a computing device cluster provided in an embodiment of the present application.
- FIG. 13 is a schematic structural block diagram of another computing device cluster provided in an embodiment of the present application.
- the size of the serial number of each process does not mean the order of execution.
- the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
- the network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application.
- a person of ordinary skill in the art can appreciate that with the evolution of the network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
- references to "one embodiment” or “some embodiments” etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application.
- the phrases “in one embodiment”, “in some embodiments”, “in some other embodiments”, “in some other embodiments”, etc. appearing in different places in this specification do not necessarily refer to the same embodiment, but mean “one or more but not all embodiments", unless otherwise specifically emphasized in other ways.
- the terms “including”, “comprising”, “having” and their variations all mean “including but not limited to”, unless otherwise specifically emphasized in other ways.
- At least one means one or more
- plural means two or more.
- “And/or” describes the association relationship of associated objects, indicating that three relationships may exist.
- a and/or B can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural.
- the character “/” generally indicates that the previous and next associated objects are in an “or” relationship.
- “At least one of the following” or similar expressions refers to any combination of these items, including any combination of single or plural items.
- At least one of a, b, or c can mean: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple.
- the code development platform in the cloud environment can realize communication and cooperation between developers and operation and maintenance personnel, and make product building, testing, and release faster, more frequent, and more reliable through the automated process of development and operation and maintenance, such as the DevOps platform.
- DevOps comes from the combination of development and operations, and is used to describe the communication, collaboration, and integration between development (application/software engineering), technical operations, and quality assurance departments.
- the DevOps platform is an agile development platform used by R&D organizations to combine the work of development and operations, and to support developers in automated continuous integration (CI), continuous delivery (CD), project and requirements management, and design and document management on the environment and tools in the DevOps platform.
- the code development platform in the cloud environment can coordinate various resources on the cloud to realize the agile development pipeline, complete the pipeline links such as collaborative code development, automated inspection, automated compilation, automated testing and automated deployment, effectively promote the collaborative work of development, testing and operation and maintenance personnel, improve work efficiency, and thus shorten the product release cycle while ensuring the release quality of software products.
- a system schematic diagram based on a cloud server system is shown in Figure 1.
- a code development platform 110 is used to manage an infrastructure that provides multiple cloud services, the infrastructure including multiple cloud data centers, each cloud data center including multiple servers, each server including cloud service resources, and providing corresponding cloud services for tenants.
- the code development platform 110 provides an access interface (such as an interface or an application program interface (API)).
- the tenant can operate the client remote access access interface to register a cloud account and password on the code development platform and log in to the code development platform.
- the tenant can further pay to select and purchase a virtual machine with specific specifications (processor, memory, disk) on the code development platform.
- the code development platform provides the remote login account and password of the purchased virtual machine, and the client can remotely log in to the virtual machine, install and run the tenant's application in the virtual machine.
- Tenants of cloud services can be individuals, enterprises, schools, hospitals, administrative agencies, etc.
- the functions of the code development platform 110 include, but are not limited to, a user console, computing management services, network management services, storage management services, authentication services, and image management services.
- the user console provides an interface or API to interact with tenants
- the computing management service is used to manage servers running virtual machines and containers and bare metal servers
- the network management service is used to manage network services (such as gateways, firewalls, etc.)
- the storage management service is used to manage storage services (such as data bucket services)
- the authentication service is used to manage tenant accounts and passwords
- the image management service is used to manage virtual machine images.
- Tenants can use the client 130 to log in to the code development platform 110 through the Internet 120 to manage the rented cloud services.
- the user of the code development platform may be a designer in a tenant.
- the designer may design and iterate the product at various development stages or design stages through the code development platform 110, and construct a design document corresponding to the template based on the template in the code development platform and the information indicating the referenced document elements in the template.
- FIG2 shows a system architecture diagram of a code development platform provided in an embodiment of the present application.
- the code development platform in FIG2 covers all product development stages, organizational structure, engineering services, environment, and tools, i.e., the entire product All functional modules of the life cycle are implemented on the same code development platform.
- all functional modules on the code development platform are implemented on the same cloud server.
- all functional modules are deployed on the same physical bare metal server for use by enterprise tenants dedicated to the code development platform.
- all functional modules on the code development platform can be implemented on different cloud servers.
- different functional modules are deployed on different elastic cloud servers (ECS), and tenants can formulate the CPU, memory, operating system, specifications, login authentication method, etc. corresponding to the elastic cloud server for each functional module based on different types of functional modules.
- ECS elastic cloud servers
- a tenant When a tenant needs to use one of the functional modules or applications in the code development platform, he can first purchase an elastic cloud server, and then configure the basic configuration (region, specification, image), network configuration (network, public IP) and advanced configuration (cloud server name, login credentials, cloud backup) in the elastic cloud server. After configuring security rules and credit operations, the tenant can deploy the functional module or application in the code development platform to the elastic cloud server. When deploying other functional modules or applications, the tenant can configure a new elastic cloud server or use an already configured elastic cloud server.
- the tenant can deploy the application of the code development platform and the data layer for encapsulating database operations on two different elastic cloud servers.
- different applications and different types of database operations can also be deployed on different elastic cloud servers, so that the code development platform can handle more loads.
- the different elastic cloud servers may belong to the same cloud computing data center, such as a single cloud computing data center dedicated to an enterprise tenant.
- the different elastic cloud servers may also belong to multiple different cloud computing data centers, that is, to meet the environmental characteristics of multiple cloud computing data centers of the tenant. For example, when a data leak or accident occurs in a cloud computing data center, the tenant can allocate the data or traffic of the cloud computing data center to other cloud computing data centers to achieve rapid failover.
- the development phase of the code development platform includes the entire process from demand analysis to product release, including demand management, product design, compilation development, use case testing, product deployment, etc.
- Product designers or tenants can locate and describe the features and functions of the software product to be built in the demand management phase, and determine the permission model, authentication design, data analysis, compliance analysis, and common security vulnerability analysis of the application or system based on the features and functions, scenario requirements, and task types corresponding to the application or system to be created.
- designers or tenants can determine the architecture or code corresponding to the software product to be created based on the analysis results obtained in the demand management work items during the product design phase, and build software products that can be deployed to the cloud environment based on the codes of multiple languages, multiple frameworks, and multiple development scenarios during the compilation and development phase.
- Product designers or tenants can implement test management and automated testing of product test cases based on the software products determined during the product design phase during the use case testing phase. For example, tenants can test software modules, application programming interfaces (APIs), and user interfaces (UIs) through automated testing, and understand the progress and execution status of various software product tests through the analysis results of test management.
- the final tested product can be deployed to the cloud server during the product deployment phase.
- each development stage of the code development platform may include one or more design links.
- the requirements development stage may include a domain analysis link and a requirements design link
- the product design process may include an architecture design link and a feature design link
- the use case testing process may include a test design link.
- the organizational structure of the code development platform includes products, construction, development, testing, maintenance, operations, etc. This organizational structure covers all functions of the product line and corresponds to the various development stages in the code development platform system architecture.
- the engineering services of the code development platform are distributed in various stages of the development phase.
- the purpose of these engineering services is to improve the iteration speed and delivery quality of the product.
- the microservices in Figure 2 are to split a large application into multiple smaller and simpler applications to improve the efficiency and quality of software system delivery.
- the grayscale release in Figure 2 is to allow different product users to use multiple features of the product, and change the scope of use of the features based on the opinions of product users on different features, thereby improving the trial and error capabilities of the product and reducing the risks when releasing new versions.
- the environment of the code development platform includes the development environment, the production-like environment, the production environment (grayscale), and the production environment.
- the development environment is used to build and continuously integrate products
- the production-like environment is used to continuously test the functions of products
- the production environment (grayscale) is used to test the products and perform acceptance tests
- the final production environment is used to run the products and continuously monitor them.
- the code development platform in FIG2 is only an example of a code development platform provided in the embodiment of the present application, and does not impose any restrictions on the functional modules, framework structure, and the order of each process of code development.
- the development stage of the code development platform in FIG2 may also include a quality monitoring process for analyzing application performance, etc., and engineering services may also include test case management, security alerts, etc.
- code development platforms generally use design documents managed by online knowledge bases to manage the content of each development stage or design link iteration in the code development platform.
- the code development platform can use one or more design documents in each development stage in Figure 2 to realize the management of the development content of the development stage or design link and the design of the product.
- the demand management stage may include a domain analysis link and a demand analysis link
- the domain analysis link may correspond to a domain analysis document
- the demand analysis link corresponds to a demand analysis document.
- the product design stage may include an architecture design document or a feature design document
- the use case test document may include a test design document, etc.
- each development stage includes one or more corresponding design documents.
- These documents can be multiple independent document files, or they can be a total document containing multiple sub-documents.
- the above-mentioned product design stage can correspond to two design documents, architecture design and feature design, and also correspond to a total design document, and the total design document contains two sub-contents, architecture design and feature design.
- the content of the design document in each development stage or design link of code development may depend on the content of the design document in the previous stage.
- designers need to determine the software product to be created based on the analysis results obtained in the demand development stage, that is, the design document of the product design process needs to be written based on the content of the design document in the demand development stage.
- the designers who complete the development stages or design links from demand management to product deployment in the R&D process may come from different organizations or departments, and multiple development stages or multiple design links need to be coordinated and synchronized.
- this collaboration and synchronization can occur between the requirements analysis phase and all design phases in the product design process.
- Designers in the product design process need to determine the architecture or code corresponding to the product based on the analysis results of the requirements analysis or the content of the design document. Therefore, designers in the requirements analysis phase need to collaborate and synchronize the content of the requirements analysis document with all designers in the product design process. If there is a lack of fast collaboration and synchronization methods between multiple development stages or design phases, the slow information transmission rate will affect the work efficiency of product design.
- FIG3 shows a method 300 for referencing document elements in an embodiment of the present application.
- the method 300 includes steps 310, 320, and 330.
- the method is implemented on a code development platform.
- Designers set templates for design documents of each development stage or design link, and determine indication information according to the template, thereby automatically referencing document elements in the process of constructing documents.
- Step 310 The code development platform obtains a first template in a first development phase.
- templates can be used to sort out product development ideas and can be used to build documents.
- Documents can be used to describe or manage product development content.
- each development stage in the development of a software product may have a corresponding template or document.
- the template includes an indicator element
- the document includes a document element.
- a document element can be an element used to divide the content of a document, such as a table of contents, footnotes, tables, pictures or paragraphs of a document, and an indicator element is used to indicate the content of a document element.
- the corresponding relationship between the template and the document will be specifically introduced later, and is not limited here.
- Step 320 The code development platform determines indication information according to the first template, where the indication information is used to indicate a reference to a first document element in a second document in a second development phase.
- the code development platform determines the indication information used to indicate the referenced content based on the first template, that is, the first document constructed according to the first template needs to reference the first document element in the second document.
- the second document is used to manage the product development content in the second development phase.
- the indication information may be included in the content of the first template, and the code development platform determines the indication information by traversing the content of the first template.
- the indication information may also not be included in the first template.
- the indication information may be determined by the code development platform based on the associated information of the first template. The content of the indication information and the method for determining the indication information will be introduced in detail later, so they will not be elaborated here.
- Step 330 The code development platform constructs a first document according to the instruction information and the first template, the first document including first document elements, and manages the development content of the product in the first development stage according to the constructed first document.
- the designer can edit the content in the created first document, and the created first document already contains the content of the first document element in the second document, thereby realizing the rapid and automatic reference of the document elements.
- the first document may also be a document that has been created and the content has been written. If new indication information is added, the code development platform will only reference the document elements indicated by the newly added indication information, and will not make any modifications to other document elements in the first document. By constructing the first document, the code development platform can manage the development content of the first development stage corresponding to the first document.
- designers only need to layout the template corresponding to the design document to realize automatic reference of document elements, and do not need to communicate manually with designers in other design links to obtain reference content of other design links, thereby improving the coordination and synchronization efficiency between multiple development stages or design links.
- FIG4 shows a schematic diagram of a comparison of templates and documents, wherein the template includes multiple indicator elements and the document includes multiple document elements.
- the template "Product Requirements.dot” includes a table of contents, a title, and an overview of the content under each title.
- the template can also include the basic structure of the document and document settings, such as fonts, shortcut keys, macros, page settings, and styles.
- the content in the first template can be a defined content framework, which is the outline for the designer to construct the first document according to the first template.
- the content framework can include a defined directory, large and small titles, a content overview corresponding to each title, and the basic structure and document settings of the document.
- the designer can directly construct the document according to the content framework.
- the content framework in the template can be in the order of "background description-functional description-risk analysis", and the content framework can also include defined large and small titles.
- the specific content of each paragraph can also be defined for the designer in advance.
- the section “1.1 Problem Status” can have three paragraphs: “Problems with the current product”, “Opportunities in the current market” and “User pain points that need to be solved at present”.
- the designer can directly construct and write the design document according to the content framework given by the template. As shown in the document in FIG4, the content of the specific document elements in the document is determined according to the content framework given in the template. For example, according to “[Paragraph: Solution based on the problem]” in Section 1.3 of the template, the designer writes “According to Section 1.2, the solution has the following points:" in Section 1.3 of the document.
- the indicator elements in the template can be the large and small titles of the content framework defined above.
- the large and small titles serve as indicator elements to divide the content in the document to be constructed.
- the large titles can be the "1 Background Description", “2 Functional Description” and “3 Risk Analysis” mentioned above, and the small titles of each paragraph can be the "1.1 Problem Status” or "2.1 Function List” mentioned above.
- the indicator element when the framework structure of the template is confirmed to not change, can also be the serial number of the title, for example, the serial number "1" is used to indicate the entire chapter content of the background description of the first chapter, or the serial number "1.1” is used to indicate the entire section content of the problem status in Section 1.1.
- Designers can directly write or construct the document elements of the document based on the large and small titles mentioned above.
- the indicator element in the template can be a content summary corresponding to each title given in the template.
- the content summary is used to describe the main content of one or more document elements that need to be written under the corresponding title.
- Designers can add paragraphs, pictures, tables and other document elements in the document based on these content summaries.
- the content summary of the title "1.2 Problem Analysis” in Figure 4 is "Paragraph: Product Problems, Essential Causes of User Pain Points”.
- Designers can add paragraphs describing the problems existing in the product at this stage, the user pain points caused by the problems, and the essential causes of the problems under the title "1.2 Problem Analysis” based on the content summary.
- the content summary of the title "2.2 Functional Modules” in Figure 4 is "Picture: Relationship Diagram of Functional Modules". Designers can add pictures of the association or dependency relationship between functional modules based on the content summary when writing this part.
- the above content summary may not include specific types of document elements such as "paragraphs, tables, pictures”.
- the content overview "Paragraph: Problems with current products” shown in Figure 4 can also be simply "Problems with current products”.
- the template may correspond to one of the design links in each development stage of the code development platform, and the design document corresponding to the design link is a document constructed according to the template.
- the template "Product Requirements.dot” shown in Figure 4 corresponds to the product requirements design link
- the design document corresponding to the product requirements design link is the document "Product Requirements.doc” shown in Figure 4.
- Designers can construct documents corresponding to product A based on the template, or they can construct documents corresponding to product B, that is, all documents of products to be designed or designed can be constructed according to the template.
- the template can be a template corresponding to the requirements analysis link, and the file name is "Requirements Analysis.dot".
- Figure 5 shows a schematic diagram of the reference interface corresponding to the embodiment.
- Figure 5 includes the first template, the second template, the first document "Product Design.doc” constructed according to the first template “Product Design.dot”, and the second document "Product Requirements.doc” constructed according to the second template "Product Requirements.dot”.
- the indication elements of the first template such as large and small titles, content overviews, and large and small titles, paragraphs, tables, and pictures of the first document correspond one to one
- the indication elements in the second template and the document elements in the second document have the same corresponding relationship.
- the document element inserted into the second document of the first template can be referred to as the first document element.
- the indication information exists in the first template, that is, the underlined portion shown in the schematic diagram of the first template in FIG5. It is worth noting that the underlined portion shown in FIG5 is only for the convenience of image recognition, and is not the effect of the actual template presentation, and does not limit the template content in this application.
- the code development platform can mark the indication information by underlining or highlighting. Note: It is also possible to not mark the instruction information.
- the first template includes a variety of symbols, such as square brackets “[]”, curly brackets “ ⁇ ”, “$$”, and “&&”.
- square brackets “[]” is used to describe the content overview.
- “[Paragraph: User pain points that the product needs to solve]” in FIG5 is used to describe the content of the document element that needs to be written under the title “1.3 Product Background” as “The user pain points that the product urgently needs to solve are...”.
- the indication information in the first template can use curly brackets “ ⁇ ” and “$$”, “&&” to indicate the referenced document elements.
- the indication information may be to use " ⁇ " to indicate the first document element inserted into the first template.
- the content in the curly brackets " ⁇ " includes two parts.
- the first part may describe the identity information of the second template, for example, "Product Requirements” in "$$ ⁇ Product Requirements.
- first part and the second part may be separated by a specific symbol, such as the “.” in “$$ ⁇ product requirement.paragraph:product problem ⁇ ” shown in FIG. 5 , or may be other symbols such as “-” that can separate the two parts.
- the indication information may also include a reference symbol, which is used to indicate the type of the referenced document element.
- a reference symbol which is used to indicate the type of the referenced document element.
- the "$$" in “$$ ⁇ product requirements. paragraph: product issues ⁇ ” shown in FIG. 5 indicates that the type of the referenced document element is a paragraph
- the "&&" in “&& ⁇ product requirements. feature list ⁇ ” indicates that the type of the referenced document element is a table. The present application does not limit the specific form of the reference symbol.
- the method for the code development platform to determine the indication information may be to traverse all the contents in the first template to find whether there is indication information such as a reference symbol or code.
- indication information such as a reference symbol or code.
- the reference symbol or code is parsed to obtain the reference relationship and reference content specifically referred to in the indication information.
- the code development platform obtains two indication information including "$$ ⁇ product requirements. paragraph: product problems ⁇ " and "&& ⁇ product requirements. function list ⁇ " in the first template by traversing the first template.
- the code development platform determines the second template "Product Requirements.dot” according to the identity information of the template in the above two indication information, and determines the second document "Product Requirements.doc” constructed according to the second template; secondly, the code development platform determines the document elements indicated by the indication elements in the second document “Product Requirements.doc” according to the indication elements in the second template in the above indication information, that is, the paragraphs and tables indicated by the indication elements "paragraph: product problems” and “function list”, or the paragraph “The problems with this product are as follows:" and the table “Table 2 Function List” shown in Section 2.1 in Section 1.2 shown in the schematic diagram of the second document in Figure 5; finally, as shown in the box content in the first document of Figure 5, the code development platform inserts the paragraph "The problems with this product are as follows:" and the table in Section 2.1 in Section 2.1 into the first template "Product Design.dot". Designers can use the content in the above box as reference to write or construct a complete first
- the above-mentioned method of annotating the referenced document elements by means of a box is only an example and does not limit the document content of this application.
- the annotation method for the referenced document elements in the first document may also be to use a font or font size different from that of the first document body.
- the insertion position of the document element in the above-mentioned second document can be determined according to the position of the indication information in the first template.
- the indication information "$$ ⁇ Product Requirements.
- Paragraph: Product Problems ⁇ is after the section 1.3 title and before "[Paragraph: User Pain Points That the Product Needs to Solve]” in the first template, then the position of the document element "The problems that exist in this product are as follows: 1" indicated by the indication information in the second document can be between the section 1.3 title and "The user pain points that the product urgently needs to solve are" in the first document.
- the insertion position of the document element can also be the blank area on both sides of the document where the section 1.3 title or the paragraph "The user pain points that the product urgently needs to solve are" in the first document are located, that is, the insertion position is not in the main text area of the first document.
- the insertion position of the document element of the second document may also be the beginning of the document, the end of the document, or the non-text area of the document.
- the code development platform may insert the document element of the second document at the beginning of the first template or at the end of the first template.
- the end of the first document that is, the position of the first document element is at the beginning or end of the first document, or all document elements in the second document to be inserted are placed in the blank areas on both sides of the first document or other non-text areas.
- the indication information is determined according to the content in the first template.
- the indication information is not in the first template, and the code development platform determines the indication information through the associated information of the first template.
- the association information of the first template can be used to describe the reference relationship and reference content between the first template and other templates.
- the code development platform can determine the document elements that need to be referenced by the first document corresponding to the first template based on the reference relationship and reference content between the first template and other templates.
- the indication information may include reference relationship indication information and reference content indication information.
- the reference relationship indication information is used to indicate that the first template references the second template, and the second document is constructed based on the second template.
- the reference content indication information is used to describe the first document element.
- the reference content indication information may be the indication element mentioned above, and may also include the location information of the reference content, such as the subheading corresponding to the location, or the document element number, such as the mth paragraph of page n, or Figure k, Table k.
- the code development platform can determine the first document element in the second document indicated by the indication information based on the indication information.
- the association information may correspond to a table recording reference relationship indication information and reference content indication information between templates.
- Table 1 shows an association table provided in an embodiment of the present application.
- the code development platform can search for the first template in step 310 according to the original template in the first column of Table 1, and the information in the second and third columns of Table 1 corresponding to the first template is the indication information corresponding to the first template.
- the reference content indication information is an indication element
- the code development platform can determine that the reference relationship indication information between Template 1 and other templates is that Template 1 references Template 2 and Template 3, and the reference content indication information is the indication element A in Template 2 and the indication element B in Template 3, according to the two rows of data corresponding to Template 1 in Table 1 and the data of the two rows of data in the second and third columns of Table 1.
- the code development platform determines that Document 1 constructed according to Template 1 references Document element A in Document 2 constructed according to Template 2, and references Document element B in Document 3 constructed according to Template 3. Similarly, the code development platform can also determine that Document 2 constructed according to Template 2 references Document element C in Document 4 constructed according to Template 4.
- Table 1 may also include a fourth column "reference position" for the code development platform to determine the insertion position of the document element.
- the code development platform may obtain from Table 1 that Document 1 references Document Element A in Document 2 and the reference position is Section 1.3 of Document 1, and references Document Element B in Document 3 and the reference position is Section 2.1 of Document 2.
- the association information may correspond to a knowledge graph.
- FIG6 shows a schematic block diagram of a knowledge graph, wherein the knowledge graph includes nodes and directed edges connecting two nodes, each node corresponds to a template, and each directed edge includes a direction and edge information.
- the direction of the directed edge corresponds to the reference relationship between the templates corresponding to the two nodes, and the edge information of the directed edge is used to describe the referenced document element, for example, the edge information may be an indicator element.
- the edge information may also include location information of the referenced document element.
- the code development platform can determine the first node corresponding to the first template in the knowledge graph based on the first template, and determine the reference relationship indication information and the reference content indication information from the knowledge graph based on the first node corresponding to the first template.
- the reference relationship indication information is a directed edge in the knowledge graph that is connected to the first node and points from the first node to the second node
- the reference content indication information is the edge information of the directed edge
- the second node corresponds to the second template.
- the code development platform can determine the second template based on the reference relationship indication information, and then determine the second document built based on the second template based on the second template.
- the code development platform can determine the first document element in the second document based on the reference content indication information, and insert the first document element in the second document into the first template to obtain the first document.
- the knowledge graph includes four nodes corresponding to templates 1 to 4, and multiple directed edges connecting the four nodes.
- the code development platform can determine the node corresponding to template 1 in the knowledge graph, and determine the reference relationship of the node corresponding to template 1.
- the reference relationship indication information corresponding to template 1 can be the directions of three directed edges, two directed edges from the node corresponding to template 1 to the node corresponding to template 2 and one directed edge from the node corresponding to template 1 to the node corresponding to template 4.
- the reference content indication information is the edge information contained in the directed edges, such as the reference indication element and the reference location information included in FIG6.
- FIG. 7 shows a schematic diagram of the reference interface of template 1 and template 2.
- the content of template 1, document 1 and the first template and the first document in FIG. 5 is roughly the same, and template 2, document 2 and the second template and the second document in FIG. 5 are exactly the same, except that template 1 does not contain any indication information.
- the code development platform can obtain the reference relationship indication information between the node corresponding to template 1 and the node corresponding to template 2 in FIG.
- the indicator element and position information in each edge information in the knowledge graph can be predefined.
- the upward direction of the arrow of the directed edge is used as the reference direction
- the left side of the directed edge is the position information
- the right side of the directed edge is the indicator element.
- the edge information in the knowledge graph may only include indicator elements.
- the edge information of the directed edge from the node corresponding to template 1 to the node corresponding to template 2 may only include the indicator elements "paragraph: product problems” and "table 2: function list", in which case the document elements corresponding to the indicator elements "paragraph: product problems” and “table 2: function list” may be inserted into the beginning or end of document 1 or in the non-text area.
- the code development platform can recommend similar document elements based on the keywords in the first document element indicated by the indication information in step 320, so that the designer can have reference content in the process of writing the first document.
- the code development platform can also provide similar document elements in other product documents based on the keywords in the first document element, which is convenient for designers to refer to when writing. For example, when designing the same type of product C and product D, the code development platform can recommend document elements about "industrial use” or including the keyword “industrial use” in all design documents of product C based on the keyword "industrial use” of product D when creating the first document for product D.
- the design document of product A can only reference the document elements of the design document of product A.
- the requirement analysis template of product A includes the instruction information "Refer to requirement analysis: requirement description” for referencing "requirement description”, then the content of "requirement analysis” referenced by the code development platform in the requirement analysis document can only be the paragraphs or pictures related to the requirement description corresponding to product A.
- the development stages corresponding to the same product can be the same. For example, after product A has been iterated, the document of the requirement analysis stage after the iteration needs to reference the content in the document of the requirement analysis stage before the iteration.
- the mutual references between different design documents may involve different products, that is, the design document of product A may reference the content of the design document of product B.
- the reference path may be marked in the indication information to help the code development platform identify the referenced document, for example, "Refer to product_B.
- Experimental Design: Experimental Platform indicates a reference to a paragraph or picture related to the experimental platform in the experimental design document of product B.
- the development stages corresponding to different products may be different, for example, the document of the product design stage corresponding to product A needs to reference the content of the document of the product requirement stage corresponding to product B.
- the development stages corresponding to different products may be the same, for example, the document of the product requirement stage corresponding to product A needs to reference the content of the document of the product requirement stage corresponding to product B.
- the code development platform implements a method of document element reference through a first template and indication information, so that one or more documents built based on the first template can automatically reference the document element indicated by the indication information, realize automatic reference of document elements, and solve the problem of low efficiency of manual reference.
- only achieving the coordination and synchronization of the content of the referenced document elements cannot fully guarantee the coordination and synchronization of various development stages or design links in the code development platform.
- the code development platform needs to let the designer of the first document know that the first document element of the second document has changed, so that the designer can synchronously modify the other contents of the first document except the first document element after the content of the first document element changes.
- the embodiment of the present application proposes a change notification method 800. As shown in FIG8 , the method 800 includes step 810 and step 830.
- Step 810 Determine whether the content of a first document element of a second document has changed to obtain a second document element.
- determining that the content of the first document element has been changed may be determining whether the first document element has been edited and modified by a designer.
- the content of the first document element has been edited, it is determined that the content of the first document element has been changed.
- the above method will instead result in a waste of message resources.
- determining that the content of the first document element has changed may be determining that key information of the second document element obtained after the change is different from the key information of the first document element, that is, the substantial content of the first document element has changed.
- Key information may be information that can extract important content of the document element, or it may be determined based on important features used to summarize the content of the document element.
- the key information may be the semantics of the paragraph and/or the meaning of the keywords of the paragraph.
- the key information may be any one or more of the objects in the drawings, the modules contained in the objects of the drawings, and the sizes of the objects in the drawings.
- the method for comparing the key information of the first document element and the second document element may be to extract and compare the key information of the two document elements based on an artificial intelligence (AI) model.
- AI artificial intelligence
- the code development platform may identify the semantic information of the first document element and the second document element through a semantic AI model, and when the semantic information of the two document elements is different, it is determined that the content of the first document element has changed.
- the code development platform may determine whether the key information of the pictures of the first document element and the second document element are the same through an AI model such as a convolutional neural network.
- the first document element is "This product targets users over 60 years old” and the second document element is "This product targets users under 60 years old”
- the key information of the first document element is "people over 60 years old” and the key information of the second document element is the opposite "people under 60 years old", or in other words, the semantics of the second document element is the antonym of the semantics of the first document element, so the code development platform determines that the content of the first document element has changed.
- the semantics of the second document element is similar to the semantics of the first document element, so the code development platform determines that the content of the first document element has not changed.
- the method for comparing key information may be to determine the similarity value of the key information of the second document element relative to the key information of the first document element. For example, the semantics of the first document element "This product targets users over 60 years old” and the second document element "This product targets users over 70 years old” mentioned above are similar but not completely the same, and the different contents of the first document element will also result in different similarity values of the key information.
- the semantic AI model can give a higher similarity value, that is, the key information of the two document elements is highly similar.
- the similarity value is higher than the similarity threshold, and the code development platform can determine that the content of the first document element has not changed.
- the semantic AI model can give a lower similarity value, which is lower than the similarity threshold, and the code development platform can determine that the content of the first document element has changed.
- the above-mentioned similarity threshold can be any artificially determined value. For example, if the similarity value range is 0 to 1, the similarity threshold can be set to 0.5 within the range of 0 to 1.
- the similarity threshold can also be a value customized by the AI model. For example, if the similarity value range is 0 to 1, the AI model customizes the similarity threshold to 0.8 or any value close to 1 to ensure the accuracy of comparing different document elements.
- Step 830 The code development platform generates change notification information, where the change notification information is used to prompt that the first document element of the second document is changed to the second document element.
- FIG9 shows a system architecture diagram of a change notification provided by an embodiment of the present application.
- the referenced party in the design link can refer to the design document referenced by the document element, or it can refer to the designer associated with the design document.
- the code development platform can determine the change configuration based on the content of the document element change.
- the change configuration can be a comparison of the key information of the document element before and after the change, a comparison of the specific content of the change, the path and conditions of the change notification, etc.
- the code development platform After determining that the document element has undergone substantial changes, the code development platform The platform can locate which design documents reference the changed document elements based on the indication information or associated information mentioned above, such as the graph shown in Figure 5, and generate change notification information to send to the design documents or designers of the design documents that reference the changed document elements.
- the content of the change notification information may be a reminder that the content of the document element has changed.
- the content of the first document element in the first document may also change accordingly, and a prompt message may be generated around the first document element to inform the designer who wrote the first document that the content of the first document element has changed.
- the content of the change notification information may be the difference or modification comparison between the first document element before the change and the second document element after the change.
- the content of the change notification information is a comparison between the first document element and the second document element, wherein the second document element includes a revision mark, and the designer can modify the content of the first document that references the first document element in a targeted manner according to the revision mark.
- the content of the change notification information may be the reason for the change.
- the content of the change notification may be "the original requirement A is changed to requirement B" or "some sub-requirements of requirement A are modified or deleted", etc.
- the change notification information may be notified to the referencer in FIG. 9 by an online notification method.
- the change notification information may be presented in the first document, such as a location around the first document element, or the homepage of the first document.
- the change notification information may be presented in an interface of a development stage or design link corresponding to the first document, so that the designer can know that the content of the first document element has changed without opening the first document.
- the change notification information may be notified by calling an interface or a distributed messaging system kafka.
- kafka or the interface sends the change notification to a message queue, and the designer searches for the content of the change notification information in the message queue.
- the change notification information may be sent via an offline notification method.
- the code development platform may send the content of the change notification information to the designer or person in charge of the first document via email or SMS.
- FIG10 can execute the methods shown in FIG3 and FIG8. It should be understood that the code development platform described below can execute the methods of the aforementioned embodiments of the present application. In order to avoid unnecessary repetition, the repeated description is appropriately omitted when introducing the code development platform of the embodiment of the present application.
- FIG. 10 is a schematic diagram of a code development platform according to an embodiment of the present application.
- the code development platform 1000 shown in FIG. 10 includes: an acquisition module 1010 , a processing module 1020 , and a construction module 1030 .
- the acquisition module 1010 is used to acquire the first template.
- the processing module 1020 is used to determine indication information according to the first template, where the indication information is used to indicate a reference to a first document element in the second document.
- the construction module 1030 is used to construct a first document according to the indication information and the first template, and the first document includes a first document element.
- the above modules can be implemented by software or hardware.
- the implementation of the processing module 1020 is described below by taking the processing module 1020 as an example.
- the implementation of the acquisition module 1010 and the construction module 1030 can refer to the implementation of the processing module 1020.
- the processing module 1020 may include code running on a computing instance.
- the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more.
- the processing module 1020 may include code running on multiple hosts/virtual machines/containers. It should be noted that the multiple hosts/virtual machines/containers used to run the code may be distributed in the same region (region) or in different regions.
- the multiple hosts/virtual machines/containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with close geographical locations. Among them, usually a region may include multiple AZs.
- VPC virtual private cloud
- multiple hosts/virtual machines/containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs.
- VPC virtual private cloud
- a VPC is set up in a region.
- a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.
- the processing module 1020 may include at least one computing device, such as a server, etc.
- the processing module 1020 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
- ASIC application-specific integrated circuit
- PLD programmable logic device
- the PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
- CPLD complex programmable logical device
- FPGA field-programmable gate array
- GAL generic array logic
- the multiple computing devices included in the processing module 1020 can be distributed in the same region or in different regions.
- the multiple computing devices included in the processing module 1020 can be distributed in the same AZ or in different AZs.
- the multiple computing devices included in the processing module 1020 can be distributed in the same VPC or in multiple VPCs.
- the multiple computing devices included in the processing module 1020 can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
- the present application also provides a computing device 1100.
- the computing device 1100 includes: a bus 1102, a processor 1104, a memory 1106, and a communication interface 1108.
- the processor 1104, the memory 1106, and the communication interface 1108 communicate with each other through the bus 1102.
- the computing device 1100 may be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 1100.
- the bus 1102 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
- the bus may be divided into an address bus, a data bus, a control bus, etc.
- FIG. 11 is represented by only one line, but does not mean that there is only one bus or one type of bus.
- the bus 1102 may include a path for transmitting information between various components of the computing device 1100 (e.g., the memory 1106, the processor 114, and the communication interface 1108).
- Processor 1104 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP) or a digital signal processor (DSP).
- processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP) or a digital signal processor (DSP).
- CPU central processing unit
- GPU graphics processing unit
- MP microprocessor
- DSP digital signal processor
- the memory 1106 may include a volatile memory, such as a random access memory (RAM).
- the processor 1104 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
- ROM read-only memory
- HDD hard disk drive
- SSD solid state drive
- the memory 1106 stores executable program codes, and the processor 1104 executes the executable program codes to respectively implement the functions of the acquisition module 1010 and the processing module 1020, thereby implementing the document element reference method. That is, the memory 1106 stores instructions for executing the document element reference method.
- the communication interface 1108 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1100 and other devices or a communication network.
- a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1100 and other devices or a communication network.
- the embodiment of the present application also provides a computing device cluster.
- the computing device cluster includes at least two computing devices.
- the computing device can be a server, such as a central server, an edge server, or a local server in a local data center.
- the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
- the computing device cluster includes at least two computing devices 1100.
- the memory 1106 in the multiple computing devices 1100 in the computing device cluster may store the same instructions for executing the above-mentioned document element reference method.
- the memory 1106 of the plurality of computing devices 1100 in the computing device cluster may also respectively store partial instructions for executing the method for referencing the document element.
- the combination of one or more computing devices 1100 may jointly execute the instructions for executing the method for referencing the document element.
- the memory 1106 in different computing devices 1100 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the above-mentioned code development platform. That is, the instructions stored in the memory 1106 in different computing devices 1100 can implement the functions of one or more modules in the acquisition module, the processing module and the construction module.
- multiple computing devices in a computing device cluster can be connected via a network.
- the network can be a wide area network or a local area network, etc.
- Figure 13 shows a possible implementation. As shown in Figure 13, two computing devices 1100A and 1100B are connected via a network. Specifically, the network is connected through a communication interface in each computing device.
- the memory 1106 in the computing device 1100A stores instructions for the functions of the acquisition module.
- the memory 1106 in the computing device 1100B stores instructions for executing the functions of the processing module and the construction module.
- the functions of the computing device 1100A shown in FIG13 may also be completed by multiple computing devices 1100.
- the functions of the computing device 1100B may also be completed by multiple computing devices 1100.
- An embodiment of the present application also provides a chip, which includes a processor and a data interface.
- the processor reads instructions stored in a memory through the data interface to execute the above-mentioned document element reference method.
- the embodiment of the present application also provides a computer program product including instructions.
- the computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium.
- the at least one computing device executes the above-mentioned method for referencing document elements.
- the embodiment of the present application also provides a computer-readable storage medium.
- the computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media.
- the available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk).
- the computer-readable storage medium includes instructions that instruct the computing device to execute the above-mentioned document element reference method.
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.
- modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
- the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
- the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of various embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
本申请要求在2023年3月27日提交中国国家知识产权局、申请号为202310308933.6的中国专利申请的优先权,发明名称为“一种文档元素引用的方法和代码开发平台”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed with the State Intellectual Property Office of China on March 27, 2023, with application number 202310308933.6, and the priority of the Chinese patent application with the invention name “A method and code development platform for document element reference”, all contents of which are incorporated by reference in this application.
本申请实施例涉及云计算领域,并且更具体地,涉及一种文档元素引用的方法和代码开发平台。The embodiments of the present application relate to the field of cloud computing, and more specifically, to a document element reference method and a code development platform.
云环境中的代码开发平台可以实现开发人员和运维人员的沟通合作,通过开发和运营维护的自动化流程来使得产品构建、测试、发布更加快捷、频繁和可靠,例如DevOps平台。DevOps一词来自于开发(development)和运营维护(operations)的组合。近些年,代码开发平台一般会使用在线知识库的设计类文档来管理代码开发平台中各开发阶段的设计内容,例如通过在线知识库工具进行产品设计和画图建模。Code development platforms in cloud environments can enable communication and cooperation between developers and operations personnel, and make product building, testing, and release faster, more frequent, and more reliable through automated processes for development and operations maintenance, such as DevOps platforms. The term DevOps comes from the combination of development and operations maintenance. In recent years, code development platforms generally use design documents in online knowledge bases to manage the design content of each development stage in the code development platform, such as product design and drawing modeling through online knowledge base tools.
但是,代码开发平台中各开发阶段对应的可能是不同的开发或者测试人员,多个开发阶段或者设计环节对应的设计文档之间可能存在内容的重复,现阶段的代码开发平台难以实现不同设计文档之间重复内容的协同和同步。However, each development stage in the code development platform may correspond to different developers or testers, and there may be duplication of content between the design documents corresponding to multiple development stages or design links. The current code development platform is difficult to achieve coordination and synchronization of duplicate content between different design documents.
发明内容Summary of the invention
本申请实施例提供一种文档元素引用的方法和代码开发平台,基于模板实现不同设计文档之间的文档元素的自动引用,提高了代码开发平台各开发阶段或者设计环节之间信息传递的效率。The embodiments of the present application provide a method for document element reference and a code development platform, which realize automatic reference of document elements between different design documents based on templates, thereby improving the efficiency of information transmission between various development stages or design links of the code development platform.
第一方面,提供了一种文档元素引用的方法,该方法应用于代码开发平台,该代码开发平台部署在数据中心,该代码开发平台应用于软件产品的开发,该软件产品的开发包括以下至少一个开发阶段:需求管理、产品设计、编译开发、用例测试或产品部署,该方法包括:代码开发平台获取第一开发阶段的第一模板,该第一开发阶段为软件产品的开发中的一个开发阶段;代码开发平台根据该第一模板,确定指示信息,该指示信息用于指示引用第二开发阶段的第二文档中的第一文档元素,该第二开发阶段为软件产品的开发中的一个开发阶段,该第二文档用于管理该第二开发阶段的产品开发内容;代码开发平台根据指示信息和第一模板,构建第一文档,该第一文档中包括第一文档元素;代码开发平台根据构建好的第一文档,管理该软件产品在第一开发阶段的开发内容。In a first aspect, a method for document element reference is provided, the method being applied to a code development platform, the code development platform being deployed in a data center, the code development platform being applied to the development of a software product, the development of the software product including at least one of the following development stages: demand management, product design, compilation development, use case testing, or product deployment, the method comprising: the code development platform acquiring a first template of a first development stage, the first development stage being a development stage in the development of the software product; the code development platform determining indication information based on the first template, the indication information being used to indicate a reference to a first document element in a second document of a second development stage, the second development stage being a development stage in the development of the software product, the second document being used to manage product development content of the second development stage; the code development platform constructing a first document based on the indication information and the first template, the first document including the first document element; the code development platform managing the development content of the software product in the first development stage based on the constructed first document.
根据本申请提供的技术方案,设计人员只需要根据文档对应的模板确定指示信息,即可实现文档元素的自动引用,不需要和其他设计环节的设计人员进行人为的交流来获取其他设计环节的参考内容,进而提高了多个开发阶段或者设计环节之间的协同和同步效率。According to the technical solution provided in this application, designers only need to determine the indication information according to the template corresponding to the document to realize the automatic reference of document elements. There is no need to communicate manually with designers in other design links to obtain reference content of other design links, thereby improving the coordination and synchronization efficiency between multiple development stages or design links.
结合第一方面,在第一方面的某些实现方式中,代码开发平台根据第一模板,确定指示信息,包括:代码开发平台确定第一模板中包括的指示信息,其中该指示信息包括第二开发阶段的第二模板的身份信息和指示元素,该指示元素用于描述第一文档元素,第二文档是根据该第二模板构建的。In combination with the first aspect, in certain implementations of the first aspect, the code development platform determines the indication information based on the first template, including: the code development platform determines the indication information included in the first template, wherein the indication information includes identity information and an indication element of a second template in the second development stage, the indication element is used to describe the first document element, and the second document is constructed based on the second template.
根据本申请提供的技术方案,设计人员可以在模板中输入指示信息,代码开发平台可以通过遍历模板中的内容就能根据该指示信息确定引用的文档元素,提高了引用文档元素的效率。According to the technical solution provided in the present application, designers can input indication information in the template, and the code development platform can determine the referenced document elements based on the indication information by traversing the contents in the template, thereby improving the efficiency of referencing document elements.
结合第一方面,在第一方面的某些实现方式中,代码开发平台根据指示信息和第一模板,构建第一文档,包括:代码开发平台根据第二模板的身份信息,确定根据该第二模板构建的第二文档;代码开发平台根据指示元素,确定第二文档中的第一文档元素;代码开发平台将该第二文档中的第一文档元素插入至第一模板中,得到第一文档。In combination with the first aspect, in certain implementations of the first aspect, the code development platform constructs a first document based on the indication information and the first template, including: the code development platform determines the second document constructed based on the second template based on the identity information of the second template; the code development platform determines the first document element in the second document based on the indication element; the code development platform inserts the first document element in the second document into the first template to obtain the first document.
根据本申请提供的技术方案,代码开发平台可以直接根据指示信息中携带的第二模板的身份信息和指示元素确定引用的第二文档中的第一文档元素,提高了确定引用的文档元素的效率。According to the technical solution provided in the present application, the code development platform can directly determine the first document element in the referenced second document based on the identity information of the second template and the indication element carried in the indication information, thereby improving the efficiency of determining the referenced document elements.
结合第一方面,在第一方面的某些实现方式中,代码开发平台根据第一模板,确定指示信息,包括: 代码开发平台根据第一模板,从该第一模板的关联信息中确定指示信息,其中该关联信息用于描述第一模板与其他模板之间的引用关系和引用内容,该指示信息包括引用关系指示信息和引用内容指示信息,引用关系指示信息用于指示第一模板引用第二开发阶段的第二模板,引用内容指示信息用于描述第一文档元素,第二文档是根据第二模板构建的。In conjunction with the first aspect, in certain implementations of the first aspect, the code development platform determines the instruction information according to the first template, including: The code development platform determines indication information from the associated information of the first template based on the first template, wherein the associated information is used to describe the reference relationship and reference content between the first template and other templates, and the indication information includes reference relationship indication information and reference content indication information, the reference relationship indication information is used to indicate that the first template references the second template in the second development stage, and the reference content indication information is used to describe the first document elements, and the second document is constructed based on the second template.
根据本申请提供的技术方案,提供了多个模板之间的引用和关联方式,实现自动关联以减少手动输入指示信息的操作。According to the technical solution provided in the present application, a reference and association method between multiple templates is provided to achieve automatic association to reduce the operation of manually inputting indication information.
结合第一方面,在第一方面的某些实现方式中,关联信息对应于知识图谱,代码开发平台根据第一模板,从第一模板的关联信息中确定指示信息包括:代码开发平台根据第一模板,确定知识图谱中的第一模板对应的第一节点;代码开发平台根据第一节点,从知识图谱中确定引用关系指示信息和引用内容指示信息,其中该引用关系指示信息为知识图谱中的由第一节点指向第二节点的有向边,引用内容指示信息为有向边的边信息,第二节点与第二模板对应。In combination with the first aspect, in certain implementations of the first aspect, the association information corresponds to a knowledge graph, and the code development platform determines the indication information from the association information of the first template according to the first template, including: the code development platform determines the first node corresponding to the first template in the knowledge graph according to the first template; the code development platform determines the reference relationship indication information and the reference content indication information from the knowledge graph according to the first node, wherein the reference relationship indication information is a directed edge from the first node to the second node in the knowledge graph, and the reference content indication information is the edge information of the directed edge, and the second node corresponds to the second template.
根据本申请提供的技术方案,代码开发平台可以直接根据知识图谱中包括的节点、有向边等元素确定引用的第二文档中的第一文档元素,不需要设计人员的手动输入指示信息的操作,确定引用内容的效率更高。According to the technical solution provided in the present application, the code development platform can directly determine the first document element in the referenced second document based on the nodes, directed edges and other elements included in the knowledge graph, without the need for designers to manually input indication information, and the efficiency of determining the referenced content is higher.
结合第一方面,在第一方面的某些实现方式中,代码开发平台根据指示信息和第一模板,构建第一文档,包括:代码开发平台根据引用关系指示信息,确定根据第二模板构建的第二文档;代码开发平台根据引用内容指示信息,确定第二文档中的第一文档元素;代码开发平台将第二文档中的第一文档元素插入至第一模板中,得到第一文档。In combination with the first aspect, in certain implementations of the first aspect, the code development platform constructs a first document based on the indication information and the first template, including: the code development platform determines the second document constructed according to the second template based on the reference relationship indication information; the code development platform determines the first document element in the second document based on the reference content indication information; the code development platform inserts the first document element in the second document into the first template to obtain the first document.
根据本申请提供的技术方案,代码开发平台可以直接通过遍历第一模板的关联关系确定引用的内容,提高了引用文档元素的效率。According to the technical solution provided in the present application, the code development platform can directly determine the referenced content by traversing the association relationship of the first template, thereby improving the efficiency of referencing document elements.
结合第一方面,在第一方面的某些实现方式中,引用内容指示信息还用于描述第一文档元素的目标位置信息;代码开发平台根据引用内容指示信息,确定第二文档中的第一文档元素,还包括:代码开发平台根据该引用内容指示信息,确定目标位置信息对应的第一模板中的目标位置;代码开发平台将第二文档中的第一文档元素插入至第一模板中,得到第一文档,包括:代码开发平台将第二文档中的第一文档元素插入至第一模板中的目标位置,得到第一文档。In combination with the first aspect, in certain implementations of the first aspect, the reference content indication information is also used to describe the target position information of the first document element; the code development platform determines the first document element in the second document based on the reference content indication information, and also includes: the code development platform determines the target position in the first template corresponding to the target position information based on the reference content indication information; the code development platform inserts the first document element in the second document into the first template to obtain the first document, including: the code development platform inserts the first document element in the second document into the target position in the first template to obtain the first document.
根据本申请提供的技术方案,通过在关联信息中加入位置信息,实现了文档元素插入的位置的精确定位。According to the technical solution provided in the present application, by adding position information to the associated information, accurate positioning of the position where the document element is inserted is achieved.
结合第一方面,在第一方面的某些实现方式中,该方法还包括:代码开发平台确定第二文档中的第一文档元素的内容发生变更,以获得第二文档元素;代码开发平台生成变更通知信息,该变更通知信息用于提示第二文档中的第一文档元素变更为第二文档元素。In combination with the first aspect, in certain implementations of the first aspect, the method also includes: the code development platform determines that the content of the first document element in the second document has changed to obtain the second document element; the code development platform generates change notification information, which is used to prompt that the first document element in the second document is changed to the second document element.
根据本申请提供的技术方案,通过对文档元素内容变更的提示,增强了代码开发平台的设计环节各个阶段之间的内容一致性。According to the technical solution provided in this application, the content consistency between various stages of the design process of the code development platform is enhanced by prompting changes in the content of document elements.
结合第一方面,在第一方面的某些实现方式中,变更通知信息还用于指示第一文档元素和第二文档元素的差异。In combination with the first aspect, in some implementations of the first aspect, the change notification information is further used to indicate the difference between the first document element and the second document element.
根据本申请提供的技术方案,通过提供修改内容的参考对照,设计人员可以通过内容差异对比,快速确定第一文档中需要针对性修改的内容。According to the technical solution provided in the present application, by providing a reference comparison of the modified content, the designer can quickly determine the content that needs to be modified in the first document through content difference comparison.
结合第一方面,在第一方面的某些实现方式中,在代码开发平台生成变更通知信息之前,该方法还包括:代码开发平台确定第二文档元素的关键信息不同于第一文档元素的关键信息,该关键信息是根据概括文档元素内容时所用的特征确定的。In combination with the first aspect, in certain implementations of the first aspect, before the code development platform generates change notification information, the method also includes: the code development platform determines that key information of the second document element is different from key information of the first document element, and the key information is determined based on the features used to summarize the content of the document element.
根据本申请提供的技术方案,减少了因微小修改或者非实质性修改带来的变更通知信息的资源浪费。According to the technical solution provided in this application, the resource waste of change notification information caused by minor modifications or non-substantive modifications is reduced.
结合第一方面,在第一方面的某些实现方式中,代码开发平台确定第二文档元素的关键信息不同于第一文档元素的关键信息包括:代码开发平台确定第二文档元素的关键信息相对于第一文档元素的关键信息的相似程度值;在相似程度值小于或者等于相似程度阈值的情况下,代码开发平台确定第二文档元素的关键信息不同于第一文档元素的关键信息。In combination with the first aspect, in certain implementations of the first aspect, the code development platform determines that the key information of the second document element is different from the key information of the first document element, including: the code development platform determines a similarity value of the key information of the second document element relative to the key information of the first document element; when the similarity value is less than or equal to a similarity threshold, the code development platform determines that the key information of the second document element is different from the key information of the first document element.
根据本申请提供的技术方案,通过引入关键信息的相似程度值,提高了判断文档元素是否发生实质性修改的准确性,减少因微小修改或者非实质性修改带来的变更通知信息的资源浪费。According to the technical solution provided in the present application, by introducing the similarity value of key information, the accuracy of judging whether substantial modifications have occurred to document elements is improved, and the resource waste of change notification information caused by minor or non-substantial modifications is reduced.
结合第一方面,在第一方面的某些实现方式中,该方法还包括:代码开发平台确定第一文档元素的关键词;代码开发平台根据该关键词,确定第三文档元素,该第三文档元素包括该关键词。 In combination with the first aspect, in some implementations of the first aspect, the method further includes: the code development platform determines a keyword of the first document element; the code development platform determines a third document element based on the keyword, and the third document element includes the keyword.
根据本申请提供的技术方案,实现了被引用的文档元素的相似内容的推荐,使得设计人员在撰写第一文档时能够有更多的参考内容。According to the technical solution provided by the present application, the recommendation of similar contents of the referenced document elements is realized, so that the designer can have more reference contents when writing the first document.
第二方面,提供了一种代码开发平台,该代码开发平台部署在数据中心,该代码开发平台应用于软件产品的开发,所述软件产品的开发包括以下至少一个开发阶段:需求管理、产品设计、编译开发、用例测试或产品部署,该代码开发平台包括:获取模块,用于获取第一开发阶段的第一模板,该第一开发阶段为软件产品的开发中的一个开发阶段;处理模块,用于根据该第一模板,确定指示信息,该指示信息用于指示引用第二开发阶段的第二文档中的第一文档元素,第二开发阶段为软件产品的开发中的一个开发阶段,该第二文档用于管理第二开发阶段的产品开发内容;构建模块,用于根据指示信息和第一模板,构建第一文档,该第一文档中包括第一文档元素,并根据构建好的第一文档,管理软件产品在第一开发阶段的开发内容。In a second aspect, a code development platform is provided, which is deployed in a data center and applied to the development of software products. The development of the software products includes at least one of the following development stages: demand management, product design, compilation development, use case testing or product deployment. The code development platform includes: an acquisition module, which is used to acquire a first template of a first development stage, and the first development stage is a development stage in the development of the software product; a processing module, which is used to determine indication information according to the first template, and the indication information is used to indicate a first document element in a second document of a second development stage, and the second development stage is a development stage in the development of the software product, and the second document is used to manage product development content of the second development stage; a construction module, which is used to construct a first document according to the indication information and the first template, and the first document includes a first document element, and manage the development content of the software product in the first development stage according to the constructed first document.
结合第二方面,在第二方面的某些实现方式中,处理模块具体用于:确定第一模板中包括的指示信息,其中该指示信息包括第二开发阶段的第二模板的身份信息和指示元素,该指示元素用于描述第一文档元素,第二文档是根据该第二模板构建的。In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: determine the indication information included in the first template, wherein the indication information includes identity information and an indication element of the second template in the second development stage, the indication element is used to describe the first document element, and the second document is constructed based on the second template.
结合第二方面,在第二方面的某些实现方式中,处理模块具体用于:根据第二模板的身份信息,确定根据该第二模板构建的第二文档,并根据指示元素,确定第二文档中的第一文档元素;构建模块具体用于:将第二文档中的第一文档元素插入至第一模板中,得到第一文档。In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: determine the second document constructed according to the second template based on the identity information of the second template, and determine the first document element in the second document based on the indication element; the construction module is specifically used to: insert the first document element in the second document into the first template to obtain the first document.
结合第二方面,在第二方面的某些实现方式中,处理模块具体用于:根据第一模板,从第一模板的关联信息中确定指示信息,其中该关联信息用于描述第一模板与其他模板之间的引用关系和引用内容,该指示信息包括引用关系指示信息和引用内容指示信息,该引用关系指示信息用于指示第一模板引用第二开发阶段的第二模板,该引用内容指示信息用于描述第一文档元素,第二文档是根据第二模板构建的。In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: determine indication information from the associated information of the first template based on the first template, wherein the associated information is used to describe the reference relationship and reference content between the first template and other templates, and the indication information includes reference relationship indication information and reference content indication information, the reference relationship indication information is used to indicate that the first template references the second template in the second development stage, and the reference content indication information is used to describe the first document elements, and the second document is constructed based on the second template.
结合第二方面,在第二方面的某些实现方式中,关联信息对应于知识图谱,处理模块具体用于:根据第一模板,确定该知识图谱中的该第一模板对应的第一节点,并根据该第一节点,从该知识图谱中确定引用关系指示信息和引用内容指示信息,其中该引用关系指示信息为知识图谱中的由第一节点指向第二节点的有向边,该引用内容指示信息为该有向边的边信息,第二节点与第二模板对应。In combination with the second aspect, in certain implementations of the second aspect, the association information corresponds to a knowledge graph, and the processing module is specifically used to: determine, based on the first template, a first node corresponding to the first template in the knowledge graph, and based on the first node, determine reference relationship indication information and reference content indication information from the knowledge graph, wherein the reference relationship indication information is a directed edge in the knowledge graph from the first node to the second node, and the reference content indication information is the edge information of the directed edge, and the second node corresponds to the second template.
结合第二方面,在第二方面的某些实现方式中,处理模块具体用于:根据引用关系指示信息,确定根据第二模板构建的第二文档,并根据该引用内容指示信息,确定第二文档中的第一文档元素;构建模块具体用于:将该第二文档中的第一文档元素插入至第一模板中,得到第一文档。In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: determine the second document constructed according to the second template based on the reference relationship indication information, and determine the first document element in the second document based on the reference content indication information; the construction module is specifically used to: insert the first document element in the second document into the first template to obtain the first document.
结合第二方面,在第二方面的某些实现方式中,引用内容指示信息还用于描述第一文档元素的目标位置信息;处理模块还用于:根据该引用内容指示信息,确定该目标位置信息对应的第一模板中的目标位置;构建模块还用于:将第二文档中的第一文档元素插入至该第一模板中的目标位置,得到第一文档。In combination with the second aspect, in certain implementations of the second aspect, the reference content indication information is also used to describe the target position information of the first document element; the processing module is also used to: determine the target position in the first template corresponding to the target position information based on the reference content indication information; the construction module is also used to: insert the first document element in the second document into the target position in the first template to obtain the first document.
结合第二方面,在第二方面的某些实现方式中,代码开发平台还包括生成模块,处理模块还用于:确定第二文档中的第一文档元素的内容发生变更,以获得第二文档元素;该生成模块用于:生成变更通知信息,该变更通知信息用于提示第二文档中的第一文档元素变更为第二文档元素。In combination with the second aspect, in certain implementations of the second aspect, the code development platform also includes a generation module, and the processing module is also used to: determine whether the content of the first document element in the second document has changed to obtain the second document element; the generation module is used to: generate change notification information, and the change notification information is used to prompt that the first document element in the second document is changed to the second document element.
结合第二方面,在第二方面的某些实现方式中,变更通知信息还用于指示第一文档元素和第二文档元素的差异。In combination with the second aspect, in some implementations of the second aspect, the change notification information is further used to indicate the difference between the first document element and the second document element.
结合第二方面,在第二方面的某些实现方式中,在该生成模块生成变更通知信息之前,处理模块还用于:确定第二文档元素的关键信息不同于第一文档元素的关键信息,该关键信息是根据概括文档元素内容时所用的特征确定的。In combination with the second aspect, in certain implementations of the second aspect, before the generation module generates change notification information, the processing module is also used to: determine that the key information of the second document element is different from the key information of the first document element, and the key information is determined based on the features used to summarize the content of the document element.
结合第二方面,在第二方面的某些实现方式中,处理模块具体用于:确定第二文档元素的关键信息相对于第一文档元素的关键信息的相似程度值,并在该相似程度值小于或者等于相似程度阈值的情况下,确定第二文档元素的关键信息不同于第一文档元素的关键信息。In combination with the second aspect, in certain implementations of the second aspect, the processing module is specifically used to: determine a similarity value of the key information of the second document element relative to the key information of the first document element, and when the similarity value is less than or equal to a similarity threshold, determine that the key information of the second document element is different from the key information of the first document element.
结合第二方面,在第二方面的某些实现方式中,处理模块还用于:确定第一文档元素的关键词,并根据该关键词,确定第三文档元素,该第三文档元素包括该关键词。In combination with the second aspect, in some implementations of the second aspect, the processing module is further used to: determine a keyword of the first document element, and determine a third document element based on the keyword, wherein the third document element includes the keyword.
第三方面,提供一种计算设备,包括处理器和存储器,其中存储器用于存储指令,处理器用于执行存储器中存储的指令,使得计算设备执行第一方面或第一方面任意一种可能的实现方式中的方法。In a third aspect, a computing device is provided, comprising a processor and a memory, wherein the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory, so that the computing device executes the method in the first aspect or any possible implementation of the first aspect.
第四方面,提供一种计算设备集群,包括至少两个计算设备,每个计算设备包括处理器和存储器,其中,存储器用于存储指令,处理器用于从存储器中调用并运行该指令,使得该计算设备集群执行第一方面或第一方面任意一种可能的实现方式中的方法。 In a fourth aspect, a computing device cluster is provided, comprising at least two computing devices, each computing device comprising a processor and a memory, wherein the memory is used to store instructions, and the processor is used to call and execute the instructions from the memory, so that the computing device cluster executes the method in the first aspect or any possible implementation of the first aspect.
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件来实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外独立存在。Optionally, the processor may be a general-purpose processor, which may be implemented by hardware or software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor may be a general-purpose processor, which is implemented by reading software codes stored in a memory, which may be integrated in the processor or may be located outside the processor and exist independently.
第五方面,提供了一种芯片,该芯片获取指令并执行该指令来实现上述第一方面或第一方面任意一种可能的实现方式中的方法。In a fifth aspect, a chip is provided, which obtains instructions and executes the instructions to implement the method in the above-mentioned first aspect or any possible implementation manner of the first aspect.
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第一方面或第一方面任意一种可能的实现方式中的方法。Optionally, as an implementation, the chip includes a processor and a data interface, and the processor reads instructions stored in the memory through the data interface to execute the method in the above-mentioned first aspect or any possible implementation of the first aspect.
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述第一方面或第一方面任意一种可能的实现方式中的方法。Optionally, as an implementation method, the chip may also include a memory, in which instructions are stored, and the processor is used to execute the instructions stored in the memory. When the instructions are executed, the processor is used to execute the method in the above-mentioned first aspect or any possible implementation method of the first aspect.
第六方面,提供了一种包含指令的计算机程序产品,当指令被计算设备或者计算设备集群运行时,使得计算设备或者计算设备集群执行上述第一方面或第一方面任意一种可能的实现方式中的方法。In a sixth aspect, a computer program product comprising instructions is provided. When the instructions are executed by a computing device or a computing device cluster, the computing device or the computing device cluster executes the method in the above-mentioned first aspect or any possible implementation manner of the first aspect.
第七方面,提供了一种计算机可读存储介质,包括计算机程序指令,当计算机指令由计算设备或者计算设备集群执行时,使得计算设备或者计算设备集群执行上述第一方面或第一方面任意一种可能的实现方式中的方法。In the seventh aspect, a computer-readable storage medium is provided, comprising computer program instructions. When the computer instructions are executed by a computing device or a computing device cluster, the computing device or the computing device cluster executes the method in the above-mentioned first aspect or any possible implementation manner of the first aspect.
作为示例,这些计算机可读存储介质包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。As examples, these computer-readable storage media include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), Flash memory, electrically EPROM (EEPROM), and hard drive.
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。Optionally, as an implementation manner, the above-mentioned storage medium may specifically be a non-volatile storage medium.
图1是本申请实施例提供的一种基于云服务器系统的系统示意图。FIG1 is a schematic diagram of a system based on a cloud server system provided in an embodiment of the present application.
图2是本申请实施例提供的一种代码开发平台的系统架构示意图。FIG2 is a schematic diagram of the system architecture of a code development platform provided in an embodiment of the present application.
图3是本申请实施例提供的一种文档元素的引用方法的示意性框图。FIG3 is a schematic block diagram of a method for referencing document elements provided in an embodiment of the present application.
图4是本申请实施例提供的一种模板和文档的示意图。FIG. 4 is a schematic diagram of a template and a document provided in an embodiment of the present application.
图5是本申请实施例提供的一种模板和文档的引用界面示意图。FIG5 is a schematic diagram of a template and document reference interface provided in an embodiment of the present application.
图6是本申请实施例提供的一种知识图谱的示意图。FIG6 is a schematic diagram of a knowledge graph provided in an embodiment of the present application.
图7是本申请实施例提供的另一种模板和文档的引用界面示意图。FIG. 7 is a schematic diagram of another template and document reference interface provided in an embodiment of the present application.
图8是本申请实施例提供的一种变更通知的方法的示意图。FIG8 is a schematic diagram of a method for change notification provided in an embodiment of the present application.
图9是本申请实施例提供的一种变更通知的系统架构示意图。FIG. 9 is a schematic diagram of a system architecture of a change notification provided in an embodiment of the present application.
图10是本申请实施例提供的一种代码开发平台的示意性结构框图。FIG. 10 is a schematic structural block diagram of a code development platform provided in an embodiment of the present application.
图11是本申请实施例提供的一种计算设备的示意性结构框图。FIG. 11 is a schematic structural block diagram of a computing device provided in an embodiment of the present application.
图12是本申请实施例提供的一种计算设备集群的示意性结构框图。FIG. 12 is a schematic structural block diagram of a computing device cluster provided in an embodiment of the present application.
图13是本申请实施例提供的另一计算设备集群的示意性结构框图。FIG. 13 is a schematic structural block diagram of another computing device cluster provided in an embodiment of the present application.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The following will describe the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。Unless otherwise specified, all technical and scientific terms used in the embodiments of the present application have the same meaning as those commonly understood by those skilled in the art of the present application. The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit the scope of this application.
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。In addition, in the embodiments of the present application, words such as "exemplary" and "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present concepts in a concrete way.
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用, 应当指出的是,在不强调其区别时,其所要表达的含义是一致的。In the embodiments of the present application, "corresponding" and "relevant" can sometimes be used interchangeably. It should be pointed out that when the difference is not emphasized, the meanings they express are the same.
本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can appreciate that with the evolution of the network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. appearing in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。In the present application, "at least one" means one or more, and "plurality" means two or more. "And/or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and/or B can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character "/" generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple.
云环境中的代码开发平台可以实现开发人员和运维人员的沟通合作,通过开发和运营维护的自动化流程来使得产品构建、测试、发布更加快捷、频繁和可靠,例如DevOps平台。The code development platform in the cloud environment can realize communication and cooperation between developers and operation and maintenance personnel, and make product building, testing, and release faster, more frequent, and more reliable through the automated process of development and operation and maintenance, such as the DevOps platform.
示例性地,DevOps一词来自于开发(development)和运营维护(operations)的组合,用于描述开发(应用程序/软件工程)、技术运营和质量保障部门之间的沟通、协作与整合。而DevOps平台是研发组织使用的敏捷开发平台,用于将开发和运营维护侧的工作进行结合,并在DevOps平台中的环境和工具上支持开发人员进行自动化的持续集成(continuous integration,CI)、持续交付(continuous delivery,CD)、项目和需求管理以及设计和文档管理。For example, the term DevOps comes from the combination of development and operations, and is used to describe the communication, collaboration, and integration between development (application/software engineering), technical operations, and quality assurance departments. The DevOps platform is an agile development platform used by R&D organizations to combine the work of development and operations, and to support developers in automated continuous integration (CI), continuous delivery (CD), project and requirements management, and design and document management on the environment and tools in the DevOps platform.
在云时代,系统的规模快速扩大,而产品的发布周期越来越短。如何在缩短发布周期的同时提高发布质量是一大挑战。而云环境中的代码开发平台能够协调云上的各种资源,实现敏捷开发的流水线,完成了代码的协同开发、自动化检查、自动化编译、自动化测试和自动化部署等流水线环节,有效促进了开发、测试和运维等人员的协同工作,提高了工作效率,进而缩短产品的发布周期的同时保证了软件产品的发布质量。In the cloud era, the scale of systems is rapidly expanding, while the product release cycle is getting shorter and shorter. How to shorten the release cycle while improving the release quality is a major challenge. The code development platform in the cloud environment can coordinate various resources on the cloud to realize the agile development pipeline, complete the pipeline links such as collaborative code development, automated inspection, automated compilation, automated testing and automated deployment, effectively promote the collaborative work of development, testing and operation and maintenance personnel, improve work efficiency, and thus shorten the product release cycle while ensuring the release quality of software products.
为了便于理解云环境,图1示出了基于云服务器系统的系统示意图。如图1所示,代码开发平台110用于管理提供多个云服务的基础设施,基础设施包括多个云数据中心,每个云数据中心中包括多个服务器,每个服务器中分别包括云服务资源,为租户提供相应的云服务。To facilitate understanding of the cloud environment, a system schematic diagram based on a cloud server system is shown in Figure 1. As shown in Figure 1, a code development platform 110 is used to manage an infrastructure that provides multiple cloud services, the infrastructure including multiple cloud data centers, each cloud data center including multiple servers, each server including cloud service resources, and providing corresponding cloud services for tenants.
代码开发平台110提供访问接口(如界面或应用程序界面(application program interface,API)),租户可操作客户端远程接入访问接口在代码开发平台注册云账号和密码,并登录代码开发平台。代码开发平台对云账号和密码鉴权成功后,租户可进一步在代码开发平台付费选择并购买特定规格(处理器、内存、磁盘)的虚拟机。付费购买成功后,代码开发平台提供所购买的虚拟机的远程登录账号密码,客户端可远程登录该虚拟机,在该虚拟机中安装并运行租户的应用。云服务的租户可以是个人、企业、学校、医院、行政机关等。The code development platform 110 provides an access interface (such as an interface or an application program interface (API)). The tenant can operate the client remote access access interface to register a cloud account and password on the code development platform and log in to the code development platform. After the code development platform successfully authenticates the cloud account and password, the tenant can further pay to select and purchase a virtual machine with specific specifications (processor, memory, disk) on the code development platform. After the paid purchase is successful, the code development platform provides the remote login account and password of the purchased virtual machine, and the client can remotely log in to the virtual machine, install and run the tenant's application in the virtual machine. Tenants of cloud services can be individuals, enterprises, schools, hospitals, administrative agencies, etc.
代码开发平台110的功能包括但不限于用户控制台、计算管理服务、网络管理服务、存储管理服务、鉴权服务、镜像管理服务。用户控制台提供界面或API与租户交互,计算管理服务用于管理运行虚拟机和容器的服务器以及裸金属服务器,网络管理服务用于管理网络服务(如网关、防火墙等),存储管理服务用于管理存储服务(如数据桶服务),鉴权服务用于管理租户的账号密码,镜像管理服务用于管理虚拟机镜像。租户使用客户端130,通过互联网120可以登录代码开发平台110,对租用的云服务进行管理。The functions of the code development platform 110 include, but are not limited to, a user console, computing management services, network management services, storage management services, authentication services, and image management services. The user console provides an interface or API to interact with tenants, the computing management service is used to manage servers running virtual machines and containers and bare metal servers, the network management service is used to manage network services (such as gateways, firewalls, etc.), the storage management service is used to manage storage services (such as data bucket services), the authentication service is used to manage tenant accounts and passwords, and the image management service is used to manage virtual machine images. Tenants can use the client 130 to log in to the code development platform 110 through the Internet 120 to manage the rented cloud services.
例如,在本申请的实施例中,代码开发平台的使用者可以是租户中的设计人员,设计人员可以通过代码开发平台110在各个开发阶段或者设计环节对产品进行设计和迭代,并基于代码开发平台中的模板以及该模板中指示引用的文档元素的信息,构建该模板对应的设计文档。For example, in an embodiment of the present application, the user of the code development platform may be a designer in a tenant. The designer may design and iterate the product at various development stages or design stages through the code development platform 110, and construct a design document corresponding to the template based on the template in the code development platform and the information indicating the referenced document elements in the template.
为了便于理解代码开发平台,图2示出了本申请实施例提供的一种代码开发平台的系统架构图。其中,图2中的代码开发平台涵盖了产品的全部开发阶段、组织架构、工程服务、环境和工具,即产品全 生命周期的所有功能模块均在同一个代码开发平台上实现。To facilitate understanding of the code development platform, FIG2 shows a system architecture diagram of a code development platform provided in an embodiment of the present application. The code development platform in FIG2 covers all product development stages, organizational structure, engineering services, environment, and tools, i.e., the entire product All functional modules of the life cycle are implemented on the same code development platform.
在本申请的一些实施例中,代码开发平台上的所有功能模块在同一个云服务器上实现。例如所有功能模块被部署在同一个物理裸机服务器上,供专用于该代码开发平台的企业租户使用。在本申请的另一些实施例中,代码开发平台上的所有功能模块可以在不同的云服务器上实现。例如不同的功能模块被部署在不同的弹性云服务器(elastic cloud server,ECS)上,租户可以根据不同类型的功能模块,对每一个功能模块都制定弹性云服务器对应的CPU、内存、操作系统、规格、登录鉴权方式等等。In some embodiments of the present application, all functional modules on the code development platform are implemented on the same cloud server. For example, all functional modules are deployed on the same physical bare metal server for use by enterprise tenants dedicated to the code development platform. In other embodiments of the present application, all functional modules on the code development platform can be implemented on different cloud servers. For example, different functional modules are deployed on different elastic cloud servers (ECS), and tenants can formulate the CPU, memory, operating system, specifications, login authentication method, etc. corresponding to the elastic cloud server for each functional module based on different types of functional modules.
租户在需要使用代码开发平台中的其中一个功能模块或者应用时,可以先购买弹性云服务器,再对弹性云服务器中的基础配置(区域、规格、镜像)、网络配置(网络、公网IP)以及高级配置(云服务器名称、登录凭证、云备份)。经过配置安全规则、授信等操作后,租户可以将代码开发平台中的该功能模块或者应用部署至弹性云服务器上。租户在部署其他功能模块或者应用时,可以配置新的弹性云服务器,也可以使用已配置好的弹性云服务器。When a tenant needs to use one of the functional modules or applications in the code development platform, he can first purchase an elastic cloud server, and then configure the basic configuration (region, specification, image), network configuration (network, public IP) and advanced configuration (cloud server name, login credentials, cloud backup) in the elastic cloud server. After configuring security rules and credit operations, the tenant can deploy the functional module or application in the code development platform to the elastic cloud server. When deploying other functional modules or applications, the tenant can configure a new elastic cloud server or use an already configured elastic cloud server.
示例性地,以代码开发平台的应用程序和对数据库的操作为例,租户可以在两个不同的弹性云服务器上分别部署该代码开发平台的应用程序和用于封装数据库操作的数据层。同理,不同的应用程序和不同类型的数据库操作也可以分别被部署在不同的弹性云服务器上,进而使得代码开发平台能够处理更多的负载。For example, taking the application of the code development platform and the operation of the database as an example, the tenant can deploy the application of the code development platform and the data layer for encapsulating database operations on two different elastic cloud servers. Similarly, different applications and different types of database operations can also be deployed on different elastic cloud servers, so that the code development platform can handle more loads.
在本申请的一些实施例中,该不同的弹性云服务器可以属于同一个云计算数据中心,例如属于企业租户专有的单个云计算数据中心。在本申请的另一些实施例中,该不同的弹性云服务器也可以属于多个不同的云计算数据中心,即可以满足租户多云计算数据中心的环境特点。例如,在某个云计算数据中心出现数据泄露或者事故时,租户可以将该云计算数据中心的数据或者流量划拨到其他云计算数据中心,实现快速故障转移。In some embodiments of the present application, the different elastic cloud servers may belong to the same cloud computing data center, such as a single cloud computing data center dedicated to an enterprise tenant. In other embodiments of the present application, the different elastic cloud servers may also belong to multiple different cloud computing data centers, that is, to meet the environmental characteristics of multiple cloud computing data centers of the tenant. For example, when a data leak or accident occurs in a cloud computing data center, the tenant can allocate the data or traffic of the cloud computing data center to other cloud computing data centers to achieve rapid failover.
如图2所示,代码开发平台的开发阶段包括从需求分析到产品发布的全部流程,其中包括需求管理、产品设计、编译开发、用例测试、产品部署等流程。产品设计人员或者租户可以在需求管理阶段定位和描述即将构建的软件产品的特性和功能,并根据即将创建的应用程序或者系统对应的特性功能、场景化需求和任务类型,确定应用程序或者系统的权限模型、鉴权设计、数据分析、合规分析以及常见安全漏洞分析。As shown in Figure 2, the development phase of the code development platform includes the entire process from demand analysis to product release, including demand management, product design, compilation development, use case testing, product deployment, etc. Product designers or tenants can locate and describe the features and functions of the software product to be built in the demand management phase, and determine the permission model, authentication design, data analysis, compliance analysis, and common security vulnerability analysis of the application or system based on the features and functions, scenario requirements, and task types corresponding to the application or system to be created.
此外,设计人员或者租户可以在产品设计阶段根据需求管理工作项中得到的分析结果,确定即将创建的软件产品对应的架构或者代码,并在编译开发阶段根据多种语言、多种框架、多种开发场景的代码构建出可部署到云环境中的软件产品。产品设计人员或者租户在用例测试阶段可以根据产品设计阶段确定的软件产品,实现产品测试用例的测试管理和自动化测试等功能。例如,租户可以通过自动化测试对软件模块、应用程序编程接口(application programming interface,API)和界面设计(user interface,UI)等进行测试,并通过测试管理的分析结果了解各项软件产品测试的进度和执行状况。最终测试完成的产品可以在产品部署阶段被部署至云服务器上。In addition, designers or tenants can determine the architecture or code corresponding to the software product to be created based on the analysis results obtained in the demand management work items during the product design phase, and build software products that can be deployed to the cloud environment based on the codes of multiple languages, multiple frameworks, and multiple development scenarios during the compilation and development phase. Product designers or tenants can implement test management and automated testing of product test cases based on the software products determined during the product design phase during the use case testing phase. For example, tenants can test software modules, application programming interfaces (APIs), and user interfaces (UIs) through automated testing, and understand the progress and execution status of various software product tests through the analysis results of test management. The final tested product can be deployed to the cloud server during the product deployment phase.
可选地,代码开发平台的每一个开发阶段下都可以包括一个或者多个设计环节。例如,需求开发阶段可以包括领域分析环节和需求设计环节,产品设计流程可以包括架构设计环节和特性设计环节,用例测试流程可以包括测试设计环节。Optionally, each development stage of the code development platform may include one or more design links. For example, the requirements development stage may include a domain analysis link and a requirements design link, the product design process may include an architecture design link and a feature design link, and the use case testing process may include a test design link.
代码开发平台的组织架构包括了产品、架设、开发、测试、运维、运营等。该组织架构涵盖了产品线的所有功能,并与代码开发平台系统架构中的各开发阶段相对应。The organizational structure of the code development platform includes products, construction, development, testing, maintenance, operations, etc. This organizational structure covers all functions of the product line and corresponds to the various development stages in the code development platform system architecture.
代码开发平台的工程服务则是分布在开发阶段中的各个阶段,这些工程服务的目的在于提高产品的迭代速度和交付质量。例如,图2中的微服务是将庞大的应用拆分成多个更小更简单的应用,以提高软件系统交付效率和质量。图2中的灰度发布是让不同的产品用户使用产品的多个特性,并根据产品用户对不同特性的意见更改特性的使用范围,从而提升产品的试错能力,减少新版本发布时存在的风险。The engineering services of the code development platform are distributed in various stages of the development phase. The purpose of these engineering services is to improve the iteration speed and delivery quality of the product. For example, the microservices in Figure 2 are to split a large application into multiple smaller and simpler applications to improve the efficiency and quality of software system delivery. The grayscale release in Figure 2 is to allow different product users to use multiple features of the product, and change the scope of use of the features based on the opinions of product users on different features, thereby improving the trial and error capabilities of the product and reducing the risks when releasing new versions.
代码开发平台的环境包括开发环境、类生产环境、生产环境(灰度)和生产环境。开发环境用于构建和持续集成产品,类生产环境用于对产品进行持续的功能测试,生产环境(灰度)用于试运行产品并进行验收测试,最终的生产环境用于运行产品并对该产品进行持续监控。The environment of the code development platform includes the development environment, the production-like environment, the production environment (grayscale), and the production environment. The development environment is used to build and continuously integrate products, the production-like environment is used to continuously test the functions of products, the production environment (grayscale) is used to test the products and perform acceptance tests, and the final production environment is used to run the products and continuously monitor them.
值得注意的是,图2中的代码开发平台仅是本申请实施例提供的一个代码开发平台的示例,对代码开发的功能模块、框架结构以及各流程之间的先后关系不构成任何限制。例如,图2中的代码开发平台的开发阶段也可以包括用于分析应用程序性能的质量监控流程等等,工程服务也可以包括测试用例管理、安全告警等等。 It is worth noting that the code development platform in FIG2 is only an example of a code development platform provided in the embodiment of the present application, and does not impose any restrictions on the functional modules, framework structure, and the order of each process of code development. For example, the development stage of the code development platform in FIG2 may also include a quality monitoring process for analyzing application performance, etc., and engineering services may also include test case management, security alerts, etc.
近些年,代码开发平台一般会使用在线知识库管理的设计类文档来管理代码开发平台中各开发阶段或者设计环节迭代的内容。在本申请的一些实施例中,代码开发平台可以在图2中的每一个开发阶段下都使用一个或者多个设计文档来实现开发阶段或者设计环节的开发内容的管理和产品的设计。例如,需求管理阶段可以包括领域分析环节和需求分析环节,领域分析环节可以对应于领域分析文档,需求分析环节对应于需求分析文档。同理,产品设计阶段可以包括架构设计文档或者特性设计文档,用例测试文档可以包括测试设计文档等等,进而每个开发阶段都包含一个或者多个对应的设计文档。这些文档可以是多个独立的文档文件,也可以是一个总的文档中包含多个子文档。例如,上述产品设计阶段可以对应架构设计和特性设计两个设计文档,也对应一个总的设计文档,总的设计文档中包含了架构设计和特性设计两个子内容。In recent years, code development platforms generally use design documents managed by online knowledge bases to manage the content of each development stage or design link iteration in the code development platform. In some embodiments of the present application, the code development platform can use one or more design documents in each development stage in Figure 2 to realize the management of the development content of the development stage or design link and the design of the product. For example, the demand management stage may include a domain analysis link and a demand analysis link, the domain analysis link may correspond to a domain analysis document, and the demand analysis link corresponds to a demand analysis document. Similarly, the product design stage may include an architecture design document or a feature design document, and the use case test document may include a test design document, etc., and each development stage includes one or more corresponding design documents. These documents can be multiple independent document files, or they can be a total document containing multiple sub-documents. For example, the above-mentioned product design stage can correspond to two design documents, architecture design and feature design, and also correspond to a total design document, and the total design document contains two sub-contents, architecture design and feature design.
根据上文对于图2中的开发阶段的内容可得,代码开发各开发阶段或者设计环节中的设计文档内容可能依赖于之前阶段的设计文档内容。例如,设计人员在产品设计流程需要根据需求开发阶段中得到的分析结果,来确定即将创建的软件产品,即产品设计流程的设计文档需要基于需求开发阶段的设计文档的内容进行撰写。此外,研发过程中完成需求管理到产品部署的各开发阶段或者各设计环节的设计人员可能来自于不同的组织或者部门,多个开发阶段或者多个设计环节之间需要进行协同和同步。According to the content of the development stage in Figure 2 above, the content of the design document in each development stage or design link of code development may depend on the content of the design document in the previous stage. For example, in the product design process, designers need to determine the software product to be created based on the analysis results obtained in the demand development stage, that is, the design document of the product design process needs to be written based on the content of the design document in the demand development stage. In addition, the designers who complete the development stages or design links from demand management to product deployment in the R&D process may come from different organizations or departments, and multiple development stages or multiple design links need to be coordinated and synchronized.
示例性地,这种协同和同步可以发生在需求分析环节和产品设计流程中的所有设计环节之间,产品设计流程的设计人员需要基于需求分析的分析结果或者设计文档的内容来确定产品对应的架构或者代码,因此需求分析环节的设计人员需要和产品设计流程中的所有设计人员进行需求分析文档内容的协同和同步。若多个开发阶段或者设计环节之间缺乏快速的协同和同步方法,较慢的信息传递速率会影响产品设计的工作效率。For example, this collaboration and synchronization can occur between the requirements analysis phase and all design phases in the product design process. Designers in the product design process need to determine the architecture or code corresponding to the product based on the analysis results of the requirements analysis or the content of the design document. Therefore, designers in the requirements analysis phase need to collaborate and synchronize the content of the requirements analysis document with all designers in the product design process. If there is a lack of fast collaboration and synchronization methods between multiple development stages or design phases, the slow information transmission rate will affect the work efficiency of product design.
为了提高多个开发阶段或者设计环节之间的协同和同步,本申请提出了一种文档元素的引用方法。图3示出了本申请实施例的文档元素引用的方法300。方法300包括步骤310、步骤320和步骤330。该方法在代码开发平台上实现,设计人员通过对每个开发阶段或者设计环节的设计文档设置模板,并根据模板确定指示信息,进而在构建文档的过程中自动引用文档元素。In order to improve the coordination and synchronization between multiple development stages or design links, the present application proposes a method for referencing document elements. FIG3 shows a method 300 for referencing document elements in an embodiment of the present application. The method 300 includes steps 310, 320, and 330. The method is implemented on a code development platform. Designers set templates for design documents of each development stage or design link, and determine indication information according to the template, thereby automatically referencing document elements in the process of constructing documents.
步骤310:代码开发平台获取第一开发阶段的第一模板。Step 310: The code development platform obtains a first template in a first development phase.
应理解,模板可以用于梳理产品开发思路,并可以用于构建文档。文档可以用于描述或者管理产品开发内容。在本申请的实施例中,软件产品的开发中的每个开发阶段可以有对应的模板或者文档。模板中包括指示元素,文档中包括文档元素。由上文可得,文档元素可以是用于划分文档内容的元素,例如文档的目录、脚注、表格、图片或者段落等,而指示元素用于指示文档元素的内容。后文将对模板和文档之间的对应关系进行具体介绍,在此不做限定。It should be understood that templates can be used to sort out product development ideas and can be used to build documents. Documents can be used to describe or manage product development content. In an embodiment of the present application, each development stage in the development of a software product may have a corresponding template or document. The template includes an indicator element, and the document includes a document element. As can be seen from the above, a document element can be an element used to divide the content of a document, such as a table of contents, footnotes, tables, pictures or paragraphs of a document, and an indicator element is used to indicate the content of a document element. The corresponding relationship between the template and the document will be specifically introduced later, and is not limited here.
步骤320:代码开发平台根据第一模板,确定指示信息,该指示信息用于指示引用第二开发阶段的第二文档中的第一文档元素。Step 320: The code development platform determines indication information according to the first template, where the indication information is used to indicate a reference to a first document element in a second document in a second development phase.
应理解,代码开发平台根据第一模板,确定用于指示引用内容的指示信息,即根据第一模板构建的第一文档需要引用第二文档中的第一文档元素。第二文档用于管理第二开发阶段的产品开发内容。指示信息可以是包含在第一模板的内容中,代码开发平台通过遍历第一模板的内容确定指示信息。指示信息也可以不包括在第一模板中,例如指示信息可以是代码开发平台根据第一模板的关联信息确定的。后文将对指示信息的内容以及指示信息的确定方法进行详细介绍,在此不做赘述。It should be understood that the code development platform determines the indication information used to indicate the referenced content based on the first template, that is, the first document constructed according to the first template needs to reference the first document element in the second document. The second document is used to manage the product development content in the second development phase. The indication information may be included in the content of the first template, and the code development platform determines the indication information by traversing the content of the first template. The indication information may also not be included in the first template. For example, the indication information may be determined by the code development platform based on the associated information of the first template. The content of the indication information and the method for determining the indication information will be introduced in detail later, so they will not be elaborated here.
步骤330:代码开发平台根据指示信息和第一模板,构建第一文档,第一文档中包括第一文档元素,并根据构建好的第一文档,管理产品在第一开发阶段的开发内容。Step 330: The code development platform constructs a first document according to the instruction information and the first template, the first document including first document elements, and manages the development content of the product in the first development stage according to the constructed first document.
应理解,设计人员可以在创建好的第一文档中编辑内容,而创建好的第一文档中已经包含了第二文档中的第一文档元素的内容,进而实现了文档元素的快速和自动引用。在本申请的另一些实施例中,第一文档也可以是已被创建好的文档且内容已经被撰写好,若新加入了指示信息,则代码开发平台只会对新加入的指示信息指示的文档元素进行引用,对第一文档中的其他文档元素不进行任何修改。通过构建好的第一文档,代码开发平台可以对第一文档对应的第一开发阶段的开发内容进行管理。It should be understood that the designer can edit the content in the created first document, and the created first document already contains the content of the first document element in the second document, thereby realizing the rapid and automatic reference of the document elements. In other embodiments of the present application, the first document may also be a document that has been created and the content has been written. If new indication information is added, the code development platform will only reference the document elements indicated by the newly added indication information, and will not make any modifications to other document elements in the first document. By constructing the first document, the code development platform can manage the development content of the first development stage corresponding to the first document.
根据上述方法300,设计人员只需要布局设计文档对应的模板,即可实现文档元素的自动引用,不需要和其他设计环节的设计人员进行人为的交流来获取其他设计环节的参考内容,进而提高了多个开发阶段或者设计环节之间的协同和同步效率。According to the above method 300, designers only need to layout the template corresponding to the design document to realize automatic reference of document elements, and do not need to communicate manually with designers in other design links to obtain reference content of other design links, thereby improving the coordination and synchronization efficiency between multiple development stages or design links.
下文将根据实施例具体介绍方法300的实现过程。为了便于理解模板和文档,图4示出了模板和文档的对照示意图,其中模板中包括多个指示元素,文档中包括多个文档元素。 The implementation process of method 300 will be specifically described below according to an embodiment. To facilitate understanding of templates and documents, FIG4 shows a schematic diagram of a comparison of templates and documents, wherein the template includes multiple indicator elements and the document includes multiple document elements.
如图4所示,模板《产品需求.dot》中包括了目录、标题和每一个标题下的内容概述等。可选地,模板中还可以包含文档的基本结构和文档设置,例如字体、快捷键、宏、页面设置和样式等。当设计人员基于第一模板构建文档时,新建的文档就会自动带有第一模板中所设置的内容,进而省去重复性的设置工作。As shown in Figure 4, the template "Product Requirements.dot" includes a table of contents, a title, and an overview of the content under each title. Optionally, the template can also include the basic structure of the document and document settings, such as fonts, shortcut keys, macros, page settings, and styles. When the designer builds a document based on the first template, the newly created document will automatically carry the content set in the first template, thereby eliminating repetitive settings.
可选地,第一模板中的内容可以是已经定义好的内容框架,内容框架是设计人员后续根据第一模板构建第一文档时的提纲,例如内容框架中可以包括定义好的目录、大小标题、每一个标题对应的内容概述以及文档的基本结构和文档设置,设计人员直接根据内容框架就可以构建文档。如图4所示,模板中的内容框架可以是按照“背景描述-功能描述-风险分析”这一顺序,内容框架中也可以包括定义好的大标题与小标题。而且,每一段的具体内容也可以事先为设计人员定义好,例如“1.1问题现状”这一部分可以有“当前产品存在的问题”、“当前市场存在的机会”和“当前需要解决的用户痛点”这三个段落,设计人员可以直接按照模板给定好的内容框架来构建和撰写设计文档。如图4中的文档所示,文档中的具体文档元素的内容是根据模板中给定好的内容框架确定的,例如根据模板1.3节中的“[段落:基于问题给出的解决方案]”,设计人员在文档的1.3节中撰写出“根据1.2节,解决方案有以下几点:……”。Optionally, the content in the first template can be a defined content framework, which is the outline for the designer to construct the first document according to the first template. For example, the content framework can include a defined directory, large and small titles, a content overview corresponding to each title, and the basic structure and document settings of the document. The designer can directly construct the document according to the content framework. As shown in FIG4, the content framework in the template can be in the order of "background description-functional description-risk analysis", and the content framework can also include defined large and small titles. Moreover, the specific content of each paragraph can also be defined for the designer in advance. For example, the section "1.1 Problem Status" can have three paragraphs: "Problems with the current product", "Opportunities in the current market" and "User pain points that need to be solved at present". The designer can directly construct and write the design document according to the content framework given by the template. As shown in the document in FIG4, the content of the specific document elements in the document is determined according to the content framework given in the template. For example, according to "[Paragraph: Solution based on the problem]" in Section 1.3 of the template, the designer writes "According to Section 1.2, the solution has the following points:..." in Section 1.3 of the document.
可选地,模板中的指示元素可以是上述定义好的内容框架的大小标题。该大小标题作为指示元素,可以对需要构建的文档中的内容进行划分。例如,大标题可以是上文所说的“1背景描述”、“2功能描述”和“3风险分析”,每一段的小标题可以是上文所说的“1.1问题现状”或者“2.1功能列表”等。在本申请的另一些实施例中,在模板的框架结构确认不会发生变更的情况下,指示元素也可以是标题的序号,例如使用序号“1”来指示第一章背景描述的整章内容或者使用序号“1.1”来指示1.1节问题现状的整节内容。设计人员可以直接根据上述大小标题来撰写或者构建文档的文档元素。Optionally, the indicator elements in the template can be the large and small titles of the content framework defined above. The large and small titles serve as indicator elements to divide the content in the document to be constructed. For example, the large titles can be the "1 Background Description", "2 Functional Description" and "3 Risk Analysis" mentioned above, and the small titles of each paragraph can be the "1.1 Problem Status" or "2.1 Function List" mentioned above. In other embodiments of the present application, when the framework structure of the template is confirmed to not change, the indicator element can also be the serial number of the title, for example, the serial number "1" is used to indicate the entire chapter content of the background description of the first chapter, or the serial number "1.1" is used to indicate the entire section content of the problem status in Section 1.1. Designers can directly write or construct the document elements of the document based on the large and small titles mentioned above.
可选地,模板中的指示元素可以是模板中给出的每一个标题对应的内容概述,内容概述用于描述对应的标题下需要撰写的一个或者多个文档元素的主要内容,设计人员可以根据这些内容概述在文档中添加段落、图片、表格等文档元素。例如,图4中的标题“1.2问题分析”的内容概述为“段落:产品问题、用户痛点的本质原因”,设计人员可以根据该内容概述在标题“1.2问题分析”下添加描述产品现阶段存在的问题、问题导致的用户痛点以及产生问题的本质原因等段落。再例如,图4中的标题“2.2功能模块”的内容概述为“图片:功能模块的关系图”,设计人员在撰写这一部分时可以根据该内容概述来添加功能模块之间的关联关系或者依赖关系的图片。在本申请的另一些实施例中,上述内容概述可以不包含“段落、表格、图片”等文档元素的具体类型。例如,图4示出的内容概述“段落:当前产品存在的问题”也可以只为“当前产品存在的问题”,设计人员在构建内容概述“当前产品存在的问题”对应的文档元素时,根据内容需要既可以添加段落如“当前产品存在的问题有以下几点:1、2、3……”,也可以添加逐一列举问题的表格,或者添加能够描述发生产品问题的场景示意图或者故障示意图。Optionally, the indicator element in the template can be a content summary corresponding to each title given in the template. The content summary is used to describe the main content of one or more document elements that need to be written under the corresponding title. Designers can add paragraphs, pictures, tables and other document elements in the document based on these content summaries. For example, the content summary of the title "1.2 Problem Analysis" in Figure 4 is "Paragraph: Product Problems, Essential Causes of User Pain Points". Designers can add paragraphs describing the problems existing in the product at this stage, the user pain points caused by the problems, and the essential causes of the problems under the title "1.2 Problem Analysis" based on the content summary. For another example, the content summary of the title "2.2 Functional Modules" in Figure 4 is "Picture: Relationship Diagram of Functional Modules". Designers can add pictures of the association or dependency relationship between functional modules based on the content summary when writing this part. In other embodiments of the present application, the above content summary may not include specific types of document elements such as "paragraphs, tables, pictures". For example, the content overview "Paragraph: Problems with current products" shown in Figure 4 can also be simply "Problems with current products". When constructing the document element corresponding to the content overview "Problems with current products", designers can add paragraphs such as "The current products have the following problems: 1, 2, 3..." according to content needs, or add a table that lists the problems one by one, or add scenario diagrams or fault diagrams that can describe the product problems.
可选地,模板可以对应于代码开发平台各开发阶段中的设计环节中的其中一个设计环节,该设计环节对应的设计文档是根据该模板构建的文档。例如图4所示的模板《产品需求.dot》对应于产品需求设计环节,该产品需求设计环节对应的设计文档则是图4所示的文档《产品需求.doc》。设计人员可以根据模板来构建产品A对应的文档,也可以构建产品B对应的文档,即所有待设计或者已设计完成的产品的文档都可以根据模板构建。例如,模板可以是需求分析环节对应的模板,文件名为“需求分析.dot”,租户在设计产品A和产品B时都可以根据模板“需求分析.dot”来分别构建产品A和产品B的“需求分析.doc”,并放置在产品A和产品B相对应的文件目录中。进而,所有待设计或者已设计完成的产品的设计文档都可以使用相似内容的文档元素或者文档形式。Optionally, the template may correspond to one of the design links in each development stage of the code development platform, and the design document corresponding to the design link is a document constructed according to the template. For example, the template "Product Requirements.dot" shown in Figure 4 corresponds to the product requirements design link, and the design document corresponding to the product requirements design link is the document "Product Requirements.doc" shown in Figure 4. Designers can construct documents corresponding to product A based on the template, or they can construct documents corresponding to product B, that is, all documents of products to be designed or designed can be constructed according to the template. For example, the template can be a template corresponding to the requirements analysis link, and the file name is "Requirements Analysis.dot". When designing products A and B, tenants can construct "Requirements Analysis.doc" for products A and B respectively according to the template "Requirements Analysis.dot", and place them in the file directories corresponding to products A and B. Furthermore, the design documents of all products to be designed or designed can use document elements or document forms with similar content.
根据方法300可得,代码开发平台在获取了第一模板后,根据第一模板确定用于指示引用第二文档中的第一文档元素的指示信息,并根据该第一模板和指示信息,构建第一文档。下文将结合图5介绍本申请提出了一种方法300的实施例。图5示出了该实施例对应的引用界面示意图。其中,图5包括了第一模板、第二模板、根据第一模板《产品设计.dot》构建的第一文档《产品设计.doc》和根据第二模板《产品需求.dot》构建的第二文档《产品需求.doc》。其中第一模板的指示元素如大小标题、内容概述和第一文档的大小标题、段落、表格、图片一一对应,第二模板中的指示元素和第二文档中的文档元素具有同样的对应关系。为了便于描述,可以将插入到第一模板的第二文档中的文档元素称为第一文档元素。According to method 300, after obtaining the first template, the code development platform determines the indication information for indicating the reference to the first document element in the second document according to the first template, and constructs the first document according to the first template and the indication information. The following will introduce an embodiment of a method 300 proposed in the present application in conjunction with Figure 5. Figure 5 shows a schematic diagram of the reference interface corresponding to the embodiment. Among them, Figure 5 includes the first template, the second template, the first document "Product Design.doc" constructed according to the first template "Product Design.dot", and the second document "Product Requirements.doc" constructed according to the second template "Product Requirements.dot". Among them, the indication elements of the first template, such as large and small titles, content overviews, and large and small titles, paragraphs, tables, and pictures of the first document correspond one to one, and the indication elements in the second template and the document elements in the second document have the same corresponding relationship. For the convenience of description, the document element inserted into the second document of the first template can be referred to as the first document element.
在该实施例中,指示信息存在于第一模板中,即图5中第一模板的示意图所示的下划线标注的部分。值得注意的是,图5所示的该下划线标注仅为便于识图,不是实际模板呈现的效果,并不对本申请中的模板内容进行限定。在实际的模板中,代码开发平台可以通过下划线或者高亮等方法对指示信息进行标 注,也可以对指示信息不进行任何标注。In this embodiment, the indication information exists in the first template, that is, the underlined portion shown in the schematic diagram of the first template in FIG5. It is worth noting that the underlined portion shown in FIG5 is only for the convenience of image recognition, and is not the effect of the actual template presentation, and does not limit the template content in this application. In the actual template, the code development platform can mark the indication information by underlining or highlighting. Note: It is also possible to not mark the instruction information.
在图5所示的实施例中,第一模板包括了多种符号,例如中括号“[]”、大括号“{}”和“$$”、“&&”。其中,如上文所说,中括号“[]”中的内容用于描述内容概述,例如图5中的“[段落:产品需解决的用户痛点]”用于描述标题“1.3产品背景”下需要撰写的文档元素的内容为“该产品亟需解决的用户痛点是……”。而第一模板中的指示信息可以使用大括号“{}”和“$$”、“&&”来指示引用的文档元素。In the embodiment shown in FIG5 , the first template includes a variety of symbols, such as square brackets “[]”, curly brackets “{}”, “$$”, and “&&”. As mentioned above, the content in the square brackets “[]” is used to describe the content overview. For example, “[Paragraph: User pain points that the product needs to solve]” in FIG5 is used to describe the content of the document element that needs to be written under the title “1.3 Product Background” as “The user pain points that the product urgently needs to solve are…”. The indication information in the first template can use curly brackets “{}” and “$$”, “&&” to indicate the referenced document elements.
可选地,指示信息可以是使用“{}”来指示插入至第一模板的第一文档元素。其中,如图5中的指示信息所示,大括号“{}”中的内容包括了两部分,第一部分可以描述第二模板的身份信息,例如标题“1.3产品背景”下“$${产品需求.段落:产品的问题}”中的“产品需求”用于描述图5中用于构建第二文档《产品需求.doc》的第二模板《产品需求.dot》的身份信息,表示将根据第二模板《产品需求.dot》构建的第二文档《产品需求.doc》中的第一文档元素插入至第一模板;第二部分为指示元素,用于指示插入至第一模板中的第一文档元素,例如,如图5所示,“$${产品需求.段落:产品的问题}”中的“段落:产品的问题”用于指示第二模板《产品需求.dot》中所示的指示元素“[段落:产品的问题]”,该指示元素“[段落:产品的问题]”用于指示第二文档《产品需求.doc》中的第一文档元素“本产品存在的问题有以下几点:①……”。这样,根据大括号“{}”中的内容如“{产品需求.段落:产品的问题}”,第二文档《产品需求.doc》中的第一文档元素“本产品存在的问题有以下几点:①……”可以被确定并可以被插入至第一模板《产品设计.dot》中。Optionally, the indication information may be to use "{}" to indicate the first document element inserted into the first template. As shown in the indication information in FIG5, the content in the curly brackets "{}" includes two parts. The first part may describe the identity information of the second template, for example, "Product Requirements" in "$${Product Requirements. Paragraph: Product Problems}" under the title "1.3 Product Background" is used to describe the identity information of the second template "Product Requirements.dot" used to construct the second document "Product Requirements.doc" in FIG5, indicating that the first document element in the second document "Product Requirements.doc" constructed according to the second template "Product Requirements.dot" is inserted into the first template; the second part is an indication element, which is used to indicate the first document element inserted into the first template. For example, as shown in FIG5, "Paragraph: Product Problems" in "$${Product Requirements. Paragraph: Product Problems}" is used to indicate the indication element "[Paragraph: Product Problems]" shown in the second template "Product Requirements.dot", and the indication element "[Paragraph: Product Problems]" is used to indicate the first document element "The problems with this product are as follows: ①..." in the second document "Product Requirements.doc". In this way, according to the content in the curly brackets "{}" such as "{Product Requirements. Paragraph: Product Problems}", the first document element "The problems with this product are as follows: ①..." in the second document "Product Requirements.doc" can be determined and inserted into the first template "Product Design.dot".
可选地,第一部分和第二部分可以通过特定的符号分割,例如图5所示的“$${产品需求.段落:产品的问题}”中的“.”,或者可以是“-”等其他可以划分两个部分的符号。Optionally, the first part and the second part may be separated by a specific symbol, such as the “.” in “$${product requirement.paragraph:product problem}” shown in FIG. 5 , or may be other symbols such as “-” that can separate the two parts.
可选地,指示信息中还可以包括引用符号,引用符号用于指示引用的文档元素的类型,例如图5所示的“$${产品需求.段落:产品的问题}”中的“$$”指示引用的文档元素的类型为段落,“&&{产品需求.功能列表}”中的“&&”指示引用的文档元素的类型为表格。本申请对引用符号的具体表现形式并不做限定。Optionally, the indication information may also include a reference symbol, which is used to indicate the type of the referenced document element. For example, the "$$" in "$${product requirements. paragraph: product issues}" shown in FIG. 5 indicates that the type of the referenced document element is a paragraph, and the "&&" in "&&{product requirements. feature list}" indicates that the type of the referenced document element is a table. The present application does not limit the specific form of the reference symbol.
可选地,在图5所示的实施例中,代码开发平台确定指示信息的方法可以是遍历第一模板中所有的内容,查找是否存在引用符号或者代码等指示信息。当查找到引用符号或者代码时,对该引用符号或者代码进行解析,从而获得指示信息中具体指代的引用关系和引用内容。Optionally, in the embodiment shown in FIG5 , the method for the code development platform to determine the indication information may be to traverse all the contents in the first template to find whether there is indication information such as a reference symbol or code. When a reference symbol or code is found, the reference symbol or code is parsed to obtain the reference relationship and reference content specifically referred to in the indication information.
示例性地,以图5所示的内容为例。在图5的实施例中,代码开发平台通过遍历第一模板得到了第一模板中包括“$${产品需求.段落:产品的问题}”和“&&{产品需求.功能列表}”两条指示信息。首先,代码开发平台根据上述两条指示信息中的模板的身份信息确定第二模板《产品需求.dot》,并确定根据第二模板构建的第二文档《产品需求.doc》;其次,代码开发平台根据上述指示信息中的第二模板中的指示元素,确定第二文档《产品需求.doc》中指示元素指示的文档元素,即指示元素“段落:产品的问题”和“功能列表”指示的段落和表格,或者说,图5中第二文档的示意图所示的1.2节中的段落“本产品存在的问题有以下几点:……”以及2.1节所示的表格“表2功能列表”;最终,如图5的第一文档中的方框内容所示,代码开发平台将上述1.2节中的段落“本产品存在的问题有以下几点:……”和2.1节中的表格插入至第一模板《产品设计.dot》中。设计人员可以将上述方框中的内容作为参考内容,来撰写或者构建完整的第一文档。Exemplarily, take the content shown in Figure 5 as an example. In the embodiment of Figure 5, the code development platform obtains two indication information including "$${product requirements. paragraph: product problems}" and "&&{product requirements. function list}" in the first template by traversing the first template. First, the code development platform determines the second template "Product Requirements.dot" according to the identity information of the template in the above two indication information, and determines the second document "Product Requirements.doc" constructed according to the second template; secondly, the code development platform determines the document elements indicated by the indication elements in the second document "Product Requirements.doc" according to the indication elements in the second template in the above indication information, that is, the paragraphs and tables indicated by the indication elements "paragraph: product problems" and "function list", or the paragraph "The problems with this product are as follows:..." and the table "Table 2 Function List" shown in Section 2.1 in Section 1.2 shown in the schematic diagram of the second document in Figure 5; finally, as shown in the box content in the first document of Figure 5, the code development platform inserts the paragraph "The problems with this product are as follows:..." and the table in Section 2.1 in Section 2.1 into the first template "Product Design.dot". Designers can use the content in the above box as reference to write or construct a complete first document.
值得注意的是,与下划线的标注相同,上述通过方框对引用的文档元素进行标注的方式只是一种示例,不对本申请的文档内容进行限定。第一文档中对于引用的文档元素的标注方式还可以是采用与第一文档正文不同的字体或者字号。It is worth noting that, like the underline annotation, the above-mentioned method of annotating the referenced document elements by means of a box is only an example and does not limit the document content of this application. The annotation method for the referenced document elements in the first document may also be to use a font or font size different from that of the first document body.
可选地,上述第二文档中的文档元素的插入位置可以根据指示信息在第一模板中的位置确定。例如,如图5所示,指示信息“$${产品需求.段落:产品的问题}”在第一模板中的1.3节标题之后以及“[段落:产品需解决的用户痛点]”之前,则第二文档中该指示信息指示的文档元素“该产品存在的问题有以下几点:①……”的位置可以是在第一文档中的1.3节标题和“该产品亟需解决的用户痛点是……”之间。在本申请的另一些实施例中,文档元素的插入位置也可以是在第一文档中的1.3节标题或者“该产品亟需解决的用户痛点是……”段落所在位置的文档两边空白区域,即插入位置不在第一文档的正文区域。Optionally, the insertion position of the document element in the above-mentioned second document can be determined according to the position of the indication information in the first template. For example, as shown in Figure 5, the indication information "$${Product Requirements. Paragraph: Product Problems}" is after the section 1.3 title and before "[Paragraph: User Pain Points That the Product Needs to Solve]" in the first template, then the position of the document element "The problems that exist in this product are as follows: ①..." indicated by the indication information in the second document can be between the section 1.3 title and "The user pain points that the product urgently needs to solve are..." in the first document. In some other embodiments of the present application, the insertion position of the document element can also be the blank area on both sides of the document where the section 1.3 title or the paragraph "The user pain points that the product urgently needs to solve are..." in the first document are located, that is, the insertion position is not in the main text area of the first document.
可选地,在本申请的另一些实施例中,上述第二文档的文档元素的插入位置也可以是文档的开头、文档的结尾或者文档的非正文区域。例如,若设计人员在添加指示信息至第一模板时,并不能明确指示信息的具体位置,则代码开发平台可以将上述第二文档的文档元素插入至第一模板的开头或者第一模板 的结尾,即第一文档元素的位置在第一文档中的开头或者结尾,或者将所有待插入的第二文档中的文档元素放置于第一文档的两边空白区域或者其他非正文区域。Optionally, in some other embodiments of the present application, the insertion position of the document element of the second document may also be the beginning of the document, the end of the document, or the non-text area of the document. For example, if the designer cannot clearly identify the specific location of the instruction information when adding the instruction information to the first template, the code development platform may insert the document element of the second document at the beginning of the first template or at the end of the first template. The end of the first document, that is, the position of the first document element is at the beginning or end of the first document, or all document elements in the second document to be inserted are placed in the blank areas on both sides of the first document or other non-text areas.
下文将介绍本申请提出的另一种实施例,不同于图5对应实施例的根据第一模板中的内容来确定指示信息。在该另一实施例中,指示信息并不在第一模板中,代码开发平台通过第一模板的关联信息来确定指示信息。Another embodiment proposed by the present application is described below, which is different from the embodiment corresponding to Figure 5 in that the indication information is determined according to the content in the first template. In this other embodiment, the indication information is not in the first template, and the code development platform determines the indication information through the associated information of the first template.
第一模板的关联信息可以用于描述第一模板与其他模板之间的引用关系和引用内容。代码开发平台可以根据第一模板与其他模板之间的引用关系和引用内容,确定第一模板对应的第一文档需要引用的文档元素。例如,指示信息可以包括引用关系指示信息和引用内容指示信息,引用关系指示信息用于指示第一模板引用第二模板,第二文档是根据第二模板构建的。引用内容指示信息用于描述第一文档元素,该引用内容指示信息可以是上文所说的指示元素,还可以包括引用内容的位置信息,如所在位置对应的小标题,或者文档元素编号,如第n页的第m段或者图k、表k。代码开发平台可以根据该指示信息确定指示信息指示的第二文档中的第一文档元素。The association information of the first template can be used to describe the reference relationship and reference content between the first template and other templates. The code development platform can determine the document elements that need to be referenced by the first document corresponding to the first template based on the reference relationship and reference content between the first template and other templates. For example, the indication information may include reference relationship indication information and reference content indication information. The reference relationship indication information is used to indicate that the first template references the second template, and the second document is constructed based on the second template. The reference content indication information is used to describe the first document element. The reference content indication information may be the indication element mentioned above, and may also include the location information of the reference content, such as the subheading corresponding to the location, or the document element number, such as the mth paragraph of page n, or Figure k, Table k. The code development platform can determine the first document element in the second document indicated by the indication information based on the indication information.
示例性地,在本申请的一些实施例中,关联信息可以对应于记录模板之间引用关系指示信息和引用内容指示信息的表格。表1示出了本申请实施例提供的一种关联表格。For example, in some embodiments of the present application, the association information may correspond to a table recording reference relationship indication information and reference content indication information between templates. Table 1 shows an association table provided in an embodiment of the present application.
表1
Table 1
如表1所示,代码开发平台可以根据表1第一列中的原始模板,查找步骤310中的第一模板,而第一模板对应的表1第二列和第三列的信息则为第一模板对应的指示信息。例如,在引用内容指示信息为指示元素的情况下,若模板1为第一模板,代码开发平台可以根据表1中模板1对应的两行数据以及该两行数据在表1第二列和第三列的数据,确定模板1与其他模板的引用关系指示信息为模板1引用模板2和模板3,以及引用内容指示信息为模板2中的指示元素A和模板3中的指示元素B。若指示元素A与文档元素A、指示元素B与文档元素B分别对应,根据上述模板1的引用关系和引用内容,代码开发平台确定根据模板1构建的文档1引用根据模板2构建的文档2中的文档元素A,以及引用根据模板3构建的文档3中的文档元素B。同理,代码开发平台还可以确定根据模板2构建的文档2引用根据模板4构建的文档4中的文档元素C。As shown in Table 1, the code development platform can search for the first template in step 310 according to the original template in the first column of Table 1, and the information in the second and third columns of Table 1 corresponding to the first template is the indication information corresponding to the first template. For example, in the case where the reference content indication information is an indication element, if Template 1 is the first template, the code development platform can determine that the reference relationship indication information between Template 1 and other templates is that Template 1 references Template 2 and Template 3, and the reference content indication information is the indication element A in Template 2 and the indication element B in Template 3, according to the two rows of data corresponding to Template 1 in Table 1 and the data of the two rows of data in the second and third columns of Table 1. If the indication element A corresponds to the document element A, and the indication element B corresponds to the document element B, respectively, according to the reference relationship and reference content of Template 1, the code development platform determines that Document 1 constructed according to Template 1 references Document element A in Document 2 constructed according to Template 2, and references Document element B in Document 3 constructed according to Template 3. Similarly, the code development platform can also determine that Document 2 constructed according to Template 2 references Document element C in Document 4 constructed according to Template 4.
可选地,表1中还可以包括第4列的“引用位置”,用于代码开发平台确定文档元素的插入位置。例如,当原始模板为模板1时,代码开发平台根据表1可以得到,文档1引用文档2中的文档元素A且引用位置为文档1的1.3节,以及引用文档3中的文档元素B且引用位置为文档2的2.1节。Optionally, Table 1 may also include a fourth column "reference position" for the code development platform to determine the insertion position of the document element. For example, when the original template is Template 1, the code development platform may obtain from Table 1 that Document 1 references Document Element A in Document 2 and the reference position is Section 1.3 of Document 1, and references Document Element B in Document 3 and the reference position is Section 2.1 of Document 2.
示例性地,在本申请的一些实施例中,关联信息可以对应于知识图谱。图6示出了一种知识图谱的示意性框图,其中知识图谱包括节点和连接两个节点的有向边,每个节点对应于一个模板,每个有向边包括方向和边信息。有向边的方向对应于两个节点对应的模板之间的引用关系,有向边的边信息用于描述引用的文档元素,例如边信息可以是指示元素。可选地,边信息还可以包括引用的文档元素的位置信息。Exemplarily, in some embodiments of the present application, the association information may correspond to a knowledge graph. FIG6 shows a schematic block diagram of a knowledge graph, wherein the knowledge graph includes nodes and directed edges connecting two nodes, each node corresponds to a template, and each directed edge includes a direction and edge information. The direction of the directed edge corresponds to the reference relationship between the templates corresponding to the two nodes, and the edge information of the directed edge is used to describe the referenced document element, for example, the edge information may be an indicator element. Optionally, the edge information may also include location information of the referenced document element.
代码开发平台可以根据第一模板,确定知识图谱中的第一模板对应的第一节点,并根据第一模板对应的第一节点,从知识图谱中确定引用关系指示信息和引用内容指示信息。在本申请的实施例中,引用关系指示信息为知识图谱中的与第一节点相连并由第一节点指向第二节点的有向边,引用内容指示信息为该有向边的边信息,第二节点与第二模板对应。代码开发平台可以根据引用关系指示信息确定第二模板,再根据第二模板确定基于第二模板构建的第二文档。同时,代码开发平台可以再根据引用内容指示信息,确定第二文档中的第一文档元素,并将第二文档中的第一文档元素插入至第一模板中,得到第一文档。The code development platform can determine the first node corresponding to the first template in the knowledge graph based on the first template, and determine the reference relationship indication information and the reference content indication information from the knowledge graph based on the first node corresponding to the first template. In an embodiment of the present application, the reference relationship indication information is a directed edge in the knowledge graph that is connected to the first node and points from the first node to the second node, the reference content indication information is the edge information of the directed edge, and the second node corresponds to the second template. The code development platform can determine the second template based on the reference relationship indication information, and then determine the second document built based on the second template based on the second template. At the same time, the code development platform can determine the first document element in the second document based on the reference content indication information, and insert the first document element in the second document into the first template to obtain the first document.
下面结合图6具体说明上述代码开发平台进行文档元素引用的过程。如图6所示,知识图谱中包括了对应于模板1至模板4的四个节点,以及连接该四个节点的多个有向边。若模板1为上文所说的第一模板,则代码开发平台可以在知识图谱中确定模板1对应的节点,并确定模板1对应的节点的引用关系指 示信息和引用内容指示信息。例如,模板1对应的引用关系指示信息可以是三条有向边的方向,为两条有向边由模板1对应的节点指向模板2对应的节点和一条有向边由模板1对应的节点指向模板4对应的节点,引用内容指示信息为有向边包含的边信息,如图6中包括的引用的指示元素和引用的位置信息。The following is a detailed description of the process of document element reference by the code development platform in conjunction with Figure 6. As shown in Figure 6, the knowledge graph includes four nodes corresponding to templates 1 to 4, and multiple directed edges connecting the four nodes. If template 1 is the first template mentioned above, the code development platform can determine the node corresponding to template 1 in the knowledge graph, and determine the reference relationship of the node corresponding to template 1. For example, the reference relationship indication information corresponding to template 1 can be the directions of three directed edges, two directed edges from the node corresponding to template 1 to the node corresponding to template 2 and one directed edge from the node corresponding to template 1 to the node corresponding to template 4. The reference content indication information is the edge information contained in the directed edges, such as the reference indication element and the reference location information included in FIG6.
下面结合图7介绍代码开发平台如何根据图6的知识图谱进行文档元素的引用。图7示出了模板1和模板2的引用界面示意图。其中,模板1、文档1和图5中的第一模板、第一文档的内容大致相同,模板2、文档2和图5中的第二模板、第二文档完全相同,差别在于模板1中不包含任何指示信息。代码开发平台可以根据图6中模板1对应的节点和模板2对应的节点之间的引用关系指示信息得到,模板1对应的节点指向模板2对应的节点,即根据模板1构建的文档1需要引用根据模板2构建的文档2中的文档元素;代码开发平台再根据图6中模板1对应的节点和模板2对应的节点之间的引用内容指示信息,确定文档2中对应的文档元素以及每个文档元素的插入位置,即如图7中文档1的界面示意图所示,文档1将文档2中的“本产品存在的问题有以下几点:……”插入至文档1的1.3节产品背景中,并将文档2中的“表2:功能列表”插入至文档1的2.1节产品模块中。In conjunction with FIG. 7, the following describes how the code development platform references document elements according to the knowledge graph of FIG. 6. FIG. 7 shows a schematic diagram of the reference interface of template 1 and template 2. Among them, the content of template 1, document 1 and the first template and the first document in FIG. 5 is roughly the same, and template 2, document 2 and the second template and the second document in FIG. 5 are exactly the same, except that template 1 does not contain any indication information. The code development platform can obtain the reference relationship indication information between the node corresponding to template 1 and the node corresponding to template 2 in FIG. 6, and the node corresponding to template 1 points to the node corresponding to template 2, that is, document 1 constructed according to template 1 needs to reference the document element in document 2 constructed according to template 2; the code development platform then determines the corresponding document element in document 2 and the insertion position of each document element according to the reference content indication information between the node corresponding to template 1 and the node corresponding to template 2 in FIG. 6, that is, as shown in the interface schematic diagram of document 1 in FIG. 7, document 1 inserts "The problems existing in this product are as follows: ..." in document 2 into the product background of Section 1.3 of document 1, and inserts "Table 2: Function List" in document 2 into the product module of Section 2.1 of document 1.
如图7所示,模板1中不需要添加任何信息,代码开发平台可以根据从图6的知识图谱中得到的模板之间的引用关系指示信息和引用内容指示信息构建出包含引用的文档元素的文档1。而最终构建出的文档1的示意图和图5中第一文档的示意图完全相同。在该实施例中,设计人员可以在不需要打开或者编辑模板1的情况下,实现文档元素的引用。As shown in FIG7 , no information needs to be added to Template 1, and the code development platform can construct Document 1 containing referenced document elements based on the reference relationship indication information and reference content indication information between templates obtained from the knowledge graph of FIG6 . The schematic diagram of Document 1 finally constructed is exactly the same as the schematic diagram of the first document in FIG5 . In this embodiment, the designer can reference document elements without opening or editing Template 1.
可选地,知识图谱中每个边信息中的指示元素和位置信息可以经过预定义。例如在图6的实施例中,以有向边的箭头往上的方向作为参考方向,有向边左侧的为位置信息,有向边右侧的为指示元素。Optionally, the indicator element and position information in each edge information in the knowledge graph can be predefined. For example, in the embodiment of FIG6 , the upward direction of the arrow of the directed edge is used as the reference direction, the left side of the directed edge is the position information, and the right side of the directed edge is the indicator element.
可选地,在本申请的另一些实施例中,知识图谱中的边信息可以只包括指示元素。例如,由模板1对应的节点指向模板2对应的节点的有向边的边信息可以只包括指示元素“段落:产品的问题”和“表2:功能列表”,此时上述指示元素“段落:产品的问题”和“表2:功能列表”对应的文档元素可以被插入至文档1的开头或者结尾或者非正文区域。Optionally, in some other embodiments of the present application, the edge information in the knowledge graph may only include indicator elements. For example, the edge information of the directed edge from the node corresponding to template 1 to the node corresponding to template 2 may only include the indicator elements "paragraph: product problems" and "table 2: function list", in which case the document elements corresponding to the indicator elements "paragraph: product problems" and "table 2: function list" may be inserted into the beginning or end of document 1 or in the non-text area.
可选地,代码开发平台可以根据步骤320指示信息指示的第一文档元素中的关键词推荐相似的文档元素,使得设计人员能够在撰写第一文档的过程中具有参考内容。代码开发平台也可以根据第一文档元素中的关键词提供其他产品文档中的相似的文档元素,便于设计人员撰写时进行参考。例如,在设计同一类产品C和产品D时,代码开发平台可以在创建产品D的第一文档时,根据产品D的关键词“工业用途”推荐产品C的所有设计文档中的关于“工业用途”或者包括“工业用途”关键词的文档元素。Optionally, the code development platform can recommend similar document elements based on the keywords in the first document element indicated by the indication information in step 320, so that the designer can have reference content in the process of writing the first document. The code development platform can also provide similar document elements in other product documents based on the keywords in the first document element, which is convenient for designers to refer to when writing. For example, when designing the same type of product C and product D, the code development platform can recommend document elements about "industrial use" or including the keyword "industrial use" in all design documents of product C based on the keyword "industrial use" of product D when creating the first document for product D.
可选地,不同设计文档之间的相互引用只能涉及同一个产品,即产品A的设计文档只能引用产品A的设计文档的文档元素。例如,在产品A的需求分析模板中包括引用“需求描述”的指示信息“Refer to需求分析:需求描述”,则代码开发平台在需求分析文档中引用的“需求分析”的内容只能是是产品A对应的需求描述相关的段落或者图片。在本申请的另一些实施例中,同一产品对应的开发阶段可以是相同的。例如,产品A经过迭代,迭代后的需求分析阶段的文档需要引用迭代前的需求分析阶段的文档中的内容。Optionally, mutual references between different design documents can only involve the same product, that is, the design document of product A can only reference the document elements of the design document of product A. For example, the requirement analysis template of product A includes the instruction information "Refer to requirement analysis: requirement description" for referencing "requirement description", then the content of "requirement analysis" referenced by the code development platform in the requirement analysis document can only be the paragraphs or pictures related to the requirement description corresponding to product A. In other embodiments of the present application, the development stages corresponding to the same product can be the same. For example, after product A has been iterated, the document of the requirement analysis stage after the iteration needs to reference the content in the document of the requirement analysis stage before the iteration.
可选地,不同设计文档之间的相互引用可以涉及不同的产品,即产品A的设计文档可以引用产品B的设计文档内容。示例性地,指示信息中可以标注引用路径来帮助代码开发平台识别出引用的文档,例如“Refer to product_B.实验设计:实验平台”指示引用产品B的实验设计文档中与实验平台相关的段落或者图片。在本申请的一些实施例中,不同产品对应的开发阶段可以是不同的,例如产品A对应的产品设计阶段的文档需要引用产品B对应的产品需求阶段的文档的内容。在本申请的另一些实施例中,不同产品对应的开发阶段可以是相同的,例如产品A对应的产品需求阶段的文档需要引用产品B对应的产品需求阶段的文档的内容。Optionally, the mutual references between different design documents may involve different products, that is, the design document of product A may reference the content of the design document of product B. Exemplarily, the reference path may be marked in the indication information to help the code development platform identify the referenced document, for example, "Refer to product_B. Experimental Design: Experimental Platform" indicates a reference to a paragraph or picture related to the experimental platform in the experimental design document of product B. In some embodiments of the present application, the development stages corresponding to different products may be different, for example, the document of the product design stage corresponding to product A needs to reference the content of the document of the product requirement stage corresponding to product B. In other embodiments of the present application, the development stages corresponding to different products may be the same, for example, the document of the product requirement stage corresponding to product A needs to reference the content of the document of the product requirement stage corresponding to product B.
代码开发平台通过第一模板和指示信息实现文档元素引用的方法,使得基于第一模板构建的一个或者多个文档能够自动引用指示信息指示的文档元素,实现了文档元素的自动引用,解决了手动引用的效率低的问题。但是,只做到引用的文档元素的内容的协同和同步并不能完整保证代码开发平台中各开发阶段或者设计环节的协同和同步。例如,在第一文档引用了第二文档的第一文档元素且设计人员已经撰写完成了第一文档的情况下,当第二文档的第一文档元素发生变更时,虽然第一文档中的第一文档元素会同时变更,但是基于第一文档元素撰写的第一文档中的其他文档元素可能已经不再适用。此时,代码开发平台需要使得第一文档的设计人员得知第二文档的第一文档元素发生变更,从而让设计人员在第一文档元素的内容发生变更后同步修改第一文档除第一文档元素之外的其他内容。 The code development platform implements a method of document element reference through a first template and indication information, so that one or more documents built based on the first template can automatically reference the document element indicated by the indication information, realize automatic reference of document elements, and solve the problem of low efficiency of manual reference. However, only achieving the coordination and synchronization of the content of the referenced document elements cannot fully guarantee the coordination and synchronization of various development stages or design links in the code development platform. For example, when the first document references the first document element of the second document and the designer has completed the writing of the first document, when the first document element of the second document changes, although the first document element in the first document will change at the same time, other document elements in the first document written based on the first document element may no longer be applicable. At this time, the code development platform needs to let the designer of the first document know that the first document element of the second document has changed, so that the designer can synchronously modify the other contents of the first document except the first document element after the content of the first document element changes.
为了解决上述问题,本申请的实施例提出了一种变更通知的方法800。如图8所示,方法800包括步骤810和步骤830。In order to solve the above problem, the embodiment of the present application proposes a change notification method 800. As shown in FIG8 , the method 800 includes step 810 and step 830.
步骤810:确定第二文档的第一文档元素的内容发生变更,以获得第二文档元素。Step 810: Determine whether the content of a first document element of a second document has changed to obtain a second document element.
可选地,确定第一文档元素的内容发生变更可以是确定第一文档元素是否被设计人员编辑修改过。当第一文档元素的内容存在被编辑的情况时,则确定第一文档元素的内容发生变更。但是,若第一文档元素的内容只是修改了错别字或者标点符号等,即设计人员对于第一文档元素的实质内容没有任何改变,上述方法反而会造成了消息资源的浪费。Optionally, determining that the content of the first document element has been changed may be determining whether the first document element has been edited and modified by a designer. When the content of the first document element has been edited, it is determined that the content of the first document element has been changed. However, if the content of the first document element has only been modified by modifying typos or punctuation marks, that is, the designer has not made any changes to the substantive content of the first document element, the above method will instead result in a waste of message resources.
可选地,确定第一文档元素的内容发生变更可以是确定变更后得到的第二文档元素的关键信息不同于第一文档元素的关键信息,即第一文档元素的实质内容发生变更。关键信息可以是能够提取出文档元素重要内容的信息,也可以是根据概括文档元素的内容时所用的重要特征确定的。在本申请的一些实施例中,若第一文档元素和第二文档元素为段落,则关键信息可以是段落的语义和/或段落的关键词的词义。在本申请的另一些实施例中,若第一文档元素和第二文档元素为附图,则关键信息可以是附图中的对象、附图的对象包含的模块和附图的对象的尺寸中的任一个或者任几个。Optionally, determining that the content of the first document element has changed may be determining that key information of the second document element obtained after the change is different from the key information of the first document element, that is, the substantial content of the first document element has changed. Key information may be information that can extract important content of the document element, or it may be determined based on important features used to summarize the content of the document element. In some embodiments of the present application, if the first document element and the second document element are paragraphs, the key information may be the semantics of the paragraph and/or the meaning of the keywords of the paragraph. In other embodiments of the present application, if the first document element and the second document element are drawings, the key information may be any one or more of the objects in the drawings, the modules contained in the objects of the drawings, and the sizes of the objects in the drawings.
可选地,比较第一文档元素和第二文档元素的关键信息的方法可以是基于人工智能(artificial intelligence,AI)模型对两个文档元素的关键信息进行提取并进行比较。例如,若第一文档元素和第二文档元素为段落,则代码开发平台可以通过语义AI模型识别第一文档元素和第二文档元素的语义信息,当两个文档元素的语义信息不相同时,则判定第一文档元素的内容发生变更。在本申请的另一些实施例中,若第一文档元素和第二文档元素为图片,则代码开发平台可以通过AI模型如卷积神经网络来判断第一文档元素和第二文档元素的图片的关键信息是否相同。Optionally, the method for comparing the key information of the first document element and the second document element may be to extract and compare the key information of the two document elements based on an artificial intelligence (AI) model. For example, if the first document element and the second document element are paragraphs, the code development platform may identify the semantic information of the first document element and the second document element through a semantic AI model, and when the semantic information of the two document elements is different, it is determined that the content of the first document element has changed. In some other embodiments of the present application, if the first document element and the second document element are pictures, the code development platform may determine whether the key information of the pictures of the first document element and the second document element are the same through an AI model such as a convolutional neural network.
示例性地,若第一文档元素为“本产品针对的用户是60岁以上的人群”,第二文档元素为“本产品针对的用户是60岁以下的人群”,根据语义AI模型可得第一文档元素的关键信息为“60岁以上的人群”而第二文档元素的关键信息则是相反的“60岁以下的人群”,或者说,第二文档元素的语义是第一文档元素的语义的反义,从而代码开发平台确定第一文档元素的内容发生变更。若第二文档元素为“本产品针对的用户是60岁以上的人群”或者“本产品针对的用户是70岁以上的人群”,根据语义AI模型可得第二文档元素的语义和第一文档元素的语义相近,从而代码开发平台确定第一文档元素的内容并未发生变更。For example, if the first document element is "This product targets users over 60 years old" and the second document element is "This product targets users under 60 years old", according to the semantic AI model, the key information of the first document element is "people over 60 years old" and the key information of the second document element is the opposite "people under 60 years old", or in other words, the semantics of the second document element is the antonym of the semantics of the first document element, so the code development platform determines that the content of the first document element has changed. If the second document element is "This product targets users over 60 years old" or "This product targets users over 70 years old", according to the semantic AI model, the semantics of the second document element is similar to the semantics of the first document element, so the code development platform determines that the content of the first document element has not changed.
可选地,对比关键信息的方法可以是确定第二文档元素的关键信息相对于第一文档元素的关键信息的相似程度值。例如,上文所说的第一文档元素“本产品针对的用户是60岁以上的人群”和第二文档元素“本产品针对的用户是70岁以上的人群”的语义相近但是并不完全相同,且第一文档元素的内容不同也会使得关键信息的相似程度值不同。Optionally, the method for comparing key information may be to determine the similarity value of the key information of the second document element relative to the key information of the first document element. For example, the semantics of the first document element "This product targets users over 60 years old" and the second document element "This product targets users over 70 years old" mentioned above are similar but not completely the same, and the different contents of the first document element will also result in different similarity values of the key information.
示例性地,若第一文档元素为“本产品针对的用户是60岁以上的人群”,第二文档元素为“本产品针对的用户是70岁以上的人群”,由于“60岁以上的人群”包含了“70岁以上的人群”,因此语义AI模型可以给出一个较高的相似程度值,即两个文档元素的关键信息高度相似。该相似程度值高于相似程度阈值,进而代码开发平台可以确定第一文档元素的内容并未发生变更。若第一文档元素为“本产品针对的用户是60岁以上的人群”,第二文档元素为“本产品针对的用户是50岁以上的人群”,由于“60岁以上的人群”是“50岁以上的人群”的一个特例情况,缺少了50-60岁的人群,因此语义AI模型可以给出一个较低的相似程度值,该相似程度值低于相似程度阈值,进而代码开发平台可以确定第一文档元素的内容发生了变更。上述相似程度阈值可以是人为确定的任意数值,例如相似程度值范围为0~1,相似程度阈值可以设置为0~1范围内的0.5;相似程度阈值也可以是AI模型自定义的数值,例如相似程度值范围为0~1,AI模型为了确保对比不同文档元素的准确性,将相似程度阈值自定义为0.8或者任意一个接近于1的数值。For example, if the first document element is "This product targets users over 60 years old", and the second document element is "This product targets users over 70 years old", since "people over 60 years old" includes "people over 70 years old", the semantic AI model can give a higher similarity value, that is, the key information of the two document elements is highly similar. The similarity value is higher than the similarity threshold, and the code development platform can determine that the content of the first document element has not changed. If the first document element is "This product targets users over 60 years old", and the second document element is "This product targets users over 50 years old", since "people over 60 years old" is a special case of "people over 50 years old", the 50-60 year old population is missing, so the semantic AI model can give a lower similarity value, which is lower than the similarity threshold, and the code development platform can determine that the content of the first document element has changed. The above-mentioned similarity threshold can be any artificially determined value. For example, if the similarity value range is 0 to 1, the similarity threshold can be set to 0.5 within the range of 0 to 1. The similarity threshold can also be a value customized by the AI model. For example, if the similarity value range is 0 to 1, the AI model customizes the similarity threshold to 0.8 or any value close to 1 to ensure the accuracy of comparing different document elements.
步骤830:代码开发平台生成变更通知信息,该变更通知信息用于提示第二文档的第一文档元素变更为第二文档元素。Step 830: The code development platform generates change notification information, where the change notification information is used to prompt that the first document element of the second document is changed to the second document element.
为了便于理解生成变更通知信息的过程,图9示出了本申请实施例提供的一种变更通知的系统架构图。其中,设计环节的被引用者可以指代文档元素被引用的设计文档,也可以指代设计文档关联的设计人员。当设计文档中的文档元素发生变更或者设计人员对该文档元素的内容进行编辑操作后,代码开发平台可以基于文档元素变更的内容确定变更配置,变更配置可以是文档元素的关键信息的变更前后对比、变更的具体内容比较、变更通知的路径和条件等等。确定了文档元素发生了实质性变更后,代码开发平 台可以根据上文所说的指示信息或者关联信息,如图5所示的图谱,来定位到哪些设计文档引用了该变更的文档元素,并生成变更通知信息发送给引用该变更的文档元素的设计文档或者设计文档的设计人员。To facilitate understanding of the process of generating change notification information, FIG9 shows a system architecture diagram of a change notification provided by an embodiment of the present application. Among them, the referenced party in the design link can refer to the design document referenced by the document element, or it can refer to the designer associated with the design document. When a document element in a design document changes or the designer edits the content of the document element, the code development platform can determine the change configuration based on the content of the document element change. The change configuration can be a comparison of the key information of the document element before and after the change, a comparison of the specific content of the change, the path and conditions of the change notification, etc. After determining that the document element has undergone substantial changes, the code development platform The platform can locate which design documents reference the changed document elements based on the indication information or associated information mentioned above, such as the graph shown in Figure 5, and generate change notification information to send to the design documents or designers of the design documents that reference the changed document elements.
可选地,变更通知信息的内容可以是提醒文档元素的内容发生变更。例如,在第一文档引用了第二文档的第一文档元素的情况下,当第二文档中的第一文档元素的内容发生变更时,第一文档中的第一文档元素的内容可以随之一起变更,并在第一文档元素的周边位置生成提示信息,告知撰写第一文档的设计人员第一文档元素的内容已经发生变更。Optionally, the content of the change notification information may be a reminder that the content of the document element has changed. For example, in the case where the first document references the first document element of the second document, when the content of the first document element in the second document changes, the content of the first document element in the first document may also change accordingly, and a prompt message may be generated around the first document element to inform the designer who wrote the first document that the content of the first document element has changed.
可选地,变更通知信息的内容可以是变更前的第一文档元素与变更后的第二文档元素的差异或者修改对照。例如,变更通知信息的内容为第一文档元素和第二文档元素的对比,其中第二文档元素中包含了修订标记,设计人员可以根据该修订标记对引用第一文档元素的第一文档的内容进行针对性地修改。Optionally, the content of the change notification information may be the difference or modification comparison between the first document element before the change and the second document element after the change. For example, the content of the change notification information is a comparison between the first document element and the second document element, wherein the second document element includes a revision mark, and the designer can modify the content of the first document that references the first document element in a targeted manner according to the revision mark.
可选地,变更通知信息的内容可以是发生变更的原因。例如,若第一文档元素为需求描述,当第一文档元素变更为第二文档元素时,变更通知的内容可以是“原需求A变更为了需求B”或者“需求A的部分子需求发生了修改或者删除”等等。Optionally, the content of the change notification information may be the reason for the change. For example, if the first document element is a requirement description, when the first document element is changed to a second document element, the content of the change notification may be "the original requirement A is changed to requirement B" or "some sub-requirements of requirement A are modified or deleted", etc.
可选地,变更通知信息可以是通过在线通知的方法通知到图9中的引用者。在本申请的一些实施例中,当第一文档引用第二文档的第一文档元素时,变更通知信息可以是呈现在第一文档中,例如第一文档元素周围的位置,或者第一文档的首页。在本申请的另一些实施例中,变更通知信息可以是呈现在第一文档对应的开发阶段或者设计环节的界面中,设计人员可以在不打开第一文档的情况下就可以得知第一文档元素的内容发生变更。Optionally, the change notification information may be notified to the referencer in FIG. 9 by an online notification method. In some embodiments of the present application, when a first document references a first document element of a second document, the change notification information may be presented in the first document, such as a location around the first document element, or the homepage of the first document. In other embodiments of the present application, the change notification information may be presented in an interface of a development stage or design link corresponding to the first document, so that the designer can know that the content of the first document element has changed without opening the first document.
可选地,变更通知信息可以是通过调用接口或者分布式消息系统kafka来通知。例如,kafka或者接口将变更通知发送到消息队列中,由设计人员在消息队列中自行搜索变更通知信息的内容。Optionally, the change notification information may be notified by calling an interface or a distributed messaging system kafka. For example, kafka or the interface sends the change notification to a message queue, and the designer searches for the content of the change notification information in the message queue.
可选地,变更通知信息可以是通过离线通知的方法。例如,在确定第一文档的设计人员并未已读在线变更通知信息的情况下,代码开发平台可以通过邮件或者短信的方法,将变更通知信息的内容发送到第一文档对应的设计人员或者负责人。Optionally, the change notification information may be sent via an offline notification method. For example, if it is determined that the designer of the first document has not read the online change notification information, the code development platform may send the content of the change notification information to the designer or person in charge of the first document via email or SMS.
下文结合图10介绍本申请实施例的代码开发平台的结构框图。需要说明的是,图10所示的代码开发平台可以执行图3和图8所示的方法。应理解,下面描述的代码开发平台能够执行前述本申请实施例的方法,为了避免不必要的重复,下面在介绍本申请实施例的代码开发平台时适当省略重复的描述。The following is a block diagram of the code development platform of an embodiment of the present application, in conjunction with FIG10. It should be noted that the code development platform shown in FIG10 can execute the methods shown in FIG3 and FIG8. It should be understood that the code development platform described below can execute the methods of the aforementioned embodiments of the present application. In order to avoid unnecessary repetition, the repeated description is appropriately omitted when introducing the code development platform of the embodiment of the present application.
图10是本申请实施例的一种代码开发平台的示意图,图10所示的代码开发平台1000包括:获取模块1010、处理模块1020以及构建模块1030。FIG. 10 is a schematic diagram of a code development platform according to an embodiment of the present application. The code development platform 1000 shown in FIG. 10 includes: an acquisition module 1010 , a processing module 1020 , and a construction module 1030 .
具体地,获取模块1010,用于获取第一模板。Specifically, the acquisition module 1010 is used to acquire the first template.
具体地,处理模块1020,用于根据该第一模板,确定指示信息,该指示信息用于指示引用第二文档中的第一文档元素。Specifically, the processing module 1020 is used to determine indication information according to the first template, where the indication information is used to indicate a reference to a first document element in the second document.
具体地,构建模块1030,用于根据指示信息和第一模板,构建第一文档,该第一文档中包括第一文档元素。Specifically, the construction module 1030 is used to construct a first document according to the indication information and the first template, and the first document includes a first document element.
获取模块1010、处理模块1020和构建模块1030的具体功能和有益效果参见上述实施例中的描述,为了简洁,在此不再赘述。The specific functions and beneficial effects of the acquisition module 1010, the processing module 1020 and the construction module 1030 are described in the above embodiments, and will not be repeated here for the sake of brevity.
其中,上述模块均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以处理模块1020为例,介绍处理模块1020的实现方式。类似的,获取模块1010、构建模块1030的实现方式可以参考处理模块1020的实现方式。The above modules can be implemented by software or hardware. For example, the implementation of the processing module 1020 is described below by taking the processing module 1020 as an example. Similarly, the implementation of the acquisition module 1010 and the construction module 1030 can refer to the implementation of the processing module 1020.
模块作为软件功能单元的一种举例,处理模块1020可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,处理模块1020可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。As an example of a software functional unit, the processing module 1020 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the processing module 1020 may include code running on multiple hosts/virtual machines/containers. It should be noted that the multiple hosts/virtual machines/containers used to run the code may be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts/virtual machines/containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with close geographical locations. Among them, usually a region may include multiple AZs.
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。 Similarly, multiple hosts/virtual machines/containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.
模块作为硬件功能单元的一种举例,处理模块1020可以包括至少一个计算设备,如服务器等。或者,处理模块1020也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。As an example of a hardware functional unit, the processing module 1020 may include at least one computing device, such as a server, etc. Alternatively, the processing module 1020 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
处理模块1020包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。处理模块1020包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,处理模块1020包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,处理模块1020包括的多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。The multiple computing devices included in the processing module 1020 can be distributed in the same region or in different regions. The multiple computing devices included in the processing module 1020 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the processing module 1020 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices included in the processing module 1020 can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
本申请还提供一种计算设备1100。如图11所示,计算设备1100包括:总线1102、处理器1104、存储器1106和通信接口1108。处理器1104、存储器1106和通信接口1108之间通过总线1102通信。计算设备1100可以是服务器或终端设备。应理解,本申请不限定计算设备1100中的处理器、存储器的个数。The present application also provides a computing device 1100. As shown in FIG11 , the computing device 1100 includes: a bus 1102, a processor 1104, a memory 1106, and a communication interface 1108. The processor 1104, the memory 1106, and the communication interface 1108 communicate with each other through the bus 1102. The computing device 1100 may be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 1100.
总线1102可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线1102可包括在计算设备1100各个部件(例如,存储器1106、处理器114、通信接口1108)之间传送信息的通路。The bus 1102 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, FIG. 11 is represented by only one line, but does not mean that there is only one bus or one type of bus. The bus 1102 may include a path for transmitting information between various components of the computing device 1100 (e.g., the memory 1106, the processor 114, and the communication interface 1108).
处理器1104可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。Processor 1104 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP) or a digital signal processor (DSP).
存储器1106可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器1104还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。The memory 1106 may include a volatile memory, such as a random access memory (RAM). The processor 1104 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
存储器1106中存储有可执行的程序代码,处理器1104执行该可执行的程序代码以分别实现前述获取模块1010和处理模块1020的功能,从而实现上述文档元素的引用方法。也即,存储器1106上存有用于执行上述文档元素的引用方法的指令。The memory 1106 stores executable program codes, and the processor 1104 executes the executable program codes to respectively implement the functions of the acquisition module 1010 and the processing module 1020, thereby implementing the document element reference method. That is, the memory 1106 stores instructions for executing the document element reference method.
通信接口1108使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备1100与其他设备或通信网络之间的通信。The communication interface 1108 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1100 and other devices or a communication network.
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少两台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least two computing devices. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
如图12所示,该计算设备集群包括至少两个计算设备1100。计算设备集群中的多个计算设备1100中的存储器1106中可以存有相同的用于执行上述文档元素的引用方法的指令。As shown in Fig. 12, the computing device cluster includes at least two computing devices 1100. The memory 1106 in the multiple computing devices 1100 in the computing device cluster may store the same instructions for executing the above-mentioned document element reference method.
在一些可能的实现方式中,该计算设备集群中的多个计算设备1100的存储器1106中也可以分别存有用于执行上述文档元素的引用方法的部分指令。换言之,一个或多个计算设备1100的组合可以共同执行用于执行上述文档元素的引用方法的指令。In some possible implementations, the memory 1106 of the plurality of computing devices 1100 in the computing device cluster may also respectively store partial instructions for executing the method for referencing the document element. In other words, the combination of one or more computing devices 1100 may jointly execute the instructions for executing the method for referencing the document element.
需要说明的是,计算设备集群中的不同的计算设备1100中的存储器1106可以存储不同的指令,分别用于执行上述代码开发平台的部分功能。也即,不同的计算设备1100中的存储器1106存储的指令可以实现获取模块、处理模块和构建模块中的一个或多个模块的功能。It should be noted that the memory 1106 in different computing devices 1100 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the above-mentioned code development platform. That is, the instructions stored in the memory 1106 in different computing devices 1100 can implement the functions of one or more modules in the acquisition module, the processing module and the construction module.
在一些可能的实现方式中,计算设备集群中的多个计算设备可以通过网络连接。其中,该网络可以是广域网或局域网等等。图13示出了一种可能的实现方式。如图13所示,两个计算设备1100A和1100B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与该网络进行连接。在这一类可能的实现方式中,计算设备1100A中的存储器1106中存有获取模块的功能的指令。同时,计算设备1100B中的存储器1106中存有执行处理模块和构建模块的功能的指令。In some possible implementations, multiple computing devices in a computing device cluster can be connected via a network. Among them, the network can be a wide area network or a local area network, etc. Figure 13 shows a possible implementation. As shown in Figure 13, two computing devices 1100A and 1100B are connected via a network. Specifically, the network is connected through a communication interface in each computing device. In this type of possible implementation, the memory 1106 in the computing device 1100A stores instructions for the functions of the acquisition module. At the same time, the memory 1106 in the computing device 1100B stores instructions for executing the functions of the processing module and the construction module.
应理解,图13中示出的计算设备1100A的功能也可以由多个计算设备1100完成。同样,计算设备1100B的功能也可以由多个计算设备1100完成。It should be understood that the functions of the computing device 1100A shown in FIG13 may also be completed by multiple computing devices 1100. Similarly, the functions of the computing device 1100B may also be completed by multiple computing devices 1100.
本申请实施例还提供一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,以执行上述文档元素的引用方法。 An embodiment of the present application also provides a chip, which includes a processor and a data interface. The processor reads instructions stored in a memory through the data interface to execute the above-mentioned document element reference method.
本申请实施例还提供了一种包含指令的计算机程序产品。该计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当该计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行上述文档元素的引用方法。The embodiment of the present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the above-mentioned method for referencing document elements.
本申请实施例还提供了一种计算机可读存储介质。该计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,该指令指示计算设备执行上述文档元素的引用方法。The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the above-mentioned document element reference method.
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的保护范围。The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person of ordinary skill in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the protection scope of the technical solutions of the embodiments of the present application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。In addition, each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。 The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims (28)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310308933.6A CN118760470A (en) | 2023-03-27 | 2023-03-27 | A document element reference method and code development platform |
| CN202310308933.6 | 2023-03-27 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024198695A1 true WO2024198695A1 (en) | 2024-10-03 |
Family
ID=92903279
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/074479 Pending WO2024198695A1 (en) | 2023-03-27 | 2024-01-29 | Method for referencing document element, and code development platform |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN118760470A (en) |
| WO (1) | WO2024198695A1 (en) |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020169753A1 (en) * | 2001-05-14 | 2002-11-14 | Mitsuhiko Yoshimura | Document management method and document management system |
| US20070130176A1 (en) * | 2005-12-07 | 2007-06-07 | Shigehisa Kawabe | Document processing method, recording medium, and document processing system |
| CN106682219A (en) * | 2017-01-03 | 2017-05-17 | 腾讯科技(深圳)有限公司 | Association document acquisition method and device |
| CN108369578A (en) * | 2016-02-01 | 2018-08-03 | 微软技术许可有限责任公司 | Automatic moulding plate based on previous document generates |
| CN110134800A (en) * | 2019-04-17 | 2019-08-16 | 深圳壹账通智能科技有限公司 | A kind of document relationships visible processing method and device |
| US20200012779A1 (en) * | 2018-07-06 | 2020-01-09 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for tracking and authenticating code transition during phases of development and deployment |
| CN110738035A (en) * | 2019-09-18 | 2020-01-31 | 平安科技(深圳)有限公司 | document template generation method and device |
| CN112528595A (en) * | 2020-12-15 | 2021-03-19 | 北京字跳网络技术有限公司 | Document processing method and device and electronic equipment |
| CN114327435A (en) * | 2021-12-28 | 2022-04-12 | 浙江太美医疗科技股份有限公司 | Technical document generation method and device and computer readable storage medium |
| CN115098061A (en) * | 2022-06-24 | 2022-09-23 | 平安银行股份有限公司 | Software development document optimization method, apparatus, computer equipment and storage medium |
| CN115293124A (en) * | 2022-07-26 | 2022-11-04 | 北京航天飞行控制中心 | Software engineering document automatic generation method and device |
-
2023
- 2023-03-27 CN CN202310308933.6A patent/CN118760470A/en active Pending
-
2024
- 2024-01-29 WO PCT/CN2024/074479 patent/WO2024198695A1/en active Pending
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020169753A1 (en) * | 2001-05-14 | 2002-11-14 | Mitsuhiko Yoshimura | Document management method and document management system |
| US20070130176A1 (en) * | 2005-12-07 | 2007-06-07 | Shigehisa Kawabe | Document processing method, recording medium, and document processing system |
| CN108369578A (en) * | 2016-02-01 | 2018-08-03 | 微软技术许可有限责任公司 | Automatic moulding plate based on previous document generates |
| CN106682219A (en) * | 2017-01-03 | 2017-05-17 | 腾讯科技(深圳)有限公司 | Association document acquisition method and device |
| US20200012779A1 (en) * | 2018-07-06 | 2020-01-09 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for tracking and authenticating code transition during phases of development and deployment |
| CN110134800A (en) * | 2019-04-17 | 2019-08-16 | 深圳壹账通智能科技有限公司 | A kind of document relationships visible processing method and device |
| CN110738035A (en) * | 2019-09-18 | 2020-01-31 | 平安科技(深圳)有限公司 | document template generation method and device |
| CN112528595A (en) * | 2020-12-15 | 2021-03-19 | 北京字跳网络技术有限公司 | Document processing method and device and electronic equipment |
| CN114327435A (en) * | 2021-12-28 | 2022-04-12 | 浙江太美医疗科技股份有限公司 | Technical document generation method and device and computer readable storage medium |
| CN115098061A (en) * | 2022-06-24 | 2022-09-23 | 平安银行股份有限公司 | Software development document optimization method, apparatus, computer equipment and storage medium |
| CN115293124A (en) * | 2022-07-26 | 2022-11-04 | 北京航天飞行控制中心 | Software engineering document automatic generation method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118760470A (en) | 2024-10-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Chen et al. | Storydroid: Automated generation of storyboard for android apps | |
| US10970457B2 (en) | Collaboration mechanism | |
| CN107636641B (en) | Unified Messaging Platform for Handling Comments Attached to Email Messages | |
| CN101983380B (en) | Synchronous collaborative review of documents | |
| CN111427561A (en) | Service code generation method and device, computer equipment and storage medium | |
| US20200204608A1 (en) | Discussion-based document collaboration | |
| US20160048486A1 (en) | Multi-user stream collaborative document editing tool | |
| US10909080B2 (en) | System and method for implementing shared document edits in real-time | |
| US20170357486A1 (en) | Enhancing a crowdsourced integrated development environment application | |
| US9824155B2 (en) | Automated electronic discovery collections and preservations | |
| JP2018116496A (en) | Difference detection device and program | |
| Goul et al. | Managing the enterprise business intelligence app store: Sentiment analysis supported requirements engineering | |
| Cortiñas et al. | Scaffolding and in-browser generation of web-based GIS applications in a SPL tool | |
| EP3062245B1 (en) | Dynamic modular ontology | |
| US9361933B2 (en) | Reducing errors in sending file attachments | |
| WO2024139849A1 (en) | Platform for generating vulnerability mining model, and related method | |
| US20150032489A1 (en) | Methods for facilitating the preparation of construction bid documents and devices thereof | |
| US12277120B2 (en) | System for creating and accessing digital cards stored in decentralized content storage | |
| US9384285B1 (en) | Methods for identifying related documents | |
| CN118674392B (en) | Process configuration and management methods and related equipment | |
| WO2024198695A1 (en) | Method for referencing document element, and code development platform | |
| CN112189195B (en) | Application programming interface for identifying, using, and managing trusted sources in online and web content | |
| WO2025007733A1 (en) | Low-code development data merging method and apparatus | |
| Pietron et al. | Collaboration and versioning framework–a systematic top-down approach | |
| CN113778434A (en) | Multilingual copywriting management method, device, electronic device and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24777490 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |