An information processing method, apparatus, device, and storage medium

By outputting multiple pages and updating the business model in real time, the problem of high DDD threshold is solved, visual collaborative modeling and synchronization of the business model is realized, and development costs and thresholds are reduced.

CN114546367BActive Publication Date: 2025-06-13BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210153038.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-18
Publication Date
2025-06-13
Estimated Expiration
2042-02-18

AI Technical Summary

Technical Problem

Domain-driven design (DDD) has a high threshold for beginners, and it is difficult to participate in modeling of products and business operations, and it is difficult to unify the language. The code needs to be redeveloped after modeling, which is very cost-effective.

Method used

An information processing method and device are provided, by outputting at least two pages, each page displays the model element components of the business model, and provides an interface to receive user operation information, update and synchronize the business model in real time, and lower the threshold for use of DDD.

Benefits of technology

The visual collaborative modeling of the business model is realized, ensuring the synchronization of the content of the visual business model seen by different users, reducing the threshold for use of DDD, and improving development efficiency and communication efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114546367B_ABST
    Figure CN114546367B_ABST
Patent Text Reader

Abstract

The present application discloses an information processing method, including: outputting at least two pages, wherein the display of each of the at least two pages includes: a model element component of a business model, and each of the at least two pages is provided with an interface for receiving information regarding the model element component; receiving modification information regarding the model element component input through a first interface of a first page, modifying the model element component according to the modification information to obtain a modified business model, where the first page is any one of the at least two pages; and outputting the modified business model to the at least two pages. The present application also discloses a device, a device, and a storage medium for implementing the above information processing method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, including but not limited to an information processing method, device, equipment, and storage medium. Background Art

[0002] With the in-depth development of the Internet, the general business scope and logic carried by software are becoming more and more complex. The expansion of enterprise's business-to-business (ToB) operations faces serious problems of customization and differentiation. For software developers, product designers, and business operators, how to deal with complex business logics and a large number of differentiated businesses is an urgent issue that every software participant needs to face. Domain Driven Design (DDD), as a software concept, is used to solve the modeling of complex businesses and guide complex business development. However, DDD has a high threshold for beginners, and it is difficult for product and business operations to participate in the modeling and unify the language. Summary of the Invention

[0003] The embodiments of the present application provide an information processing method, device, equipment, and storage medium to solve at least one problem in the related art, and can reduce the usage threshold of DDD.

[0004] The technical solution of the embodiments of the present application is implemented as follows:

[0005] In a first aspect, the embodiments of the present application provide an information processing method, the method including:

[0006] Output at least two pages, the display of each page in the at least two pages including: model element components of a business model, and each page in the at least two pages is provided with an interface for receiving modifications to the model element components;

[0007] Receive modification information for the model element components input through a first interface of a first page, and modify the model element components according to the modification information to obtain a modified business model, where the first page is any page in the at least two pages;

[0008] Output the modified business model to the at least two pages.

[0009] In a second aspect, the embodiments of the present application provide an information processing device, including:

[0010] A first output module, configured to output at least two pages, the display of each page in the at least two pages including: model element components of a business model, and each page in the at least two pages is provided with an interface for receiving modifications to the model element components;

[0011] A receiving module, configured to receive modification information for the model element component input through a first interface on a first page, modify the model element component according to the modification information to obtain a modified business model, where the first page is any one of the at least two pages;

[0012] The first output module is further configured to output the modified business model to the at least two pages.

[0013] In a third aspect, an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor runs the computer program, the steps in the above information processing method are implemented.

[0014] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, the steps in the above information processing method are implemented.

[0015] In an embodiment of the present application, an information processing method, device, equipment, and storage medium are provided, including: outputting at least two pages, where the display of each page in the at least two pages includes: model element components of a business model, and each page in the at least two pages is provided with an interface for receiving information for the model element component; receiving modification information for the model element component input through a first interface on a first page, modifying the model element component according to the modification information to obtain a modified business model, where the first page is any one of the at least two pages; outputting the modified business model to the at least two pages, so that pages with model element components of the business model as page content can be output, and at the same time, multiple pages for different users can be output. When a user operates on the model element component of the business model, the operation result is output to multiple pages, so that while the business model is visualized, the content of the visualized business model seen by different users is synchronized, thereby reducing the usage threshold of DDD. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a schematic diagram of an optional architecture of an information processing system according to an embodiment of the present application;

[0017] Figure 2 It is a schematic diagram of an optional architecture of an information processing system according to an embodiment of the present application;

[0018] Figure 3 It is a schematic diagram of an optional process of an information processing method provided by an embodiment of the present application;

[0019] Figure 4 It is a schematic diagram of a page display effect provided by an embodiment of the present application;

[0020] Figure 5 An optionally schematic architecture diagram for modeling by the visualization modeling platform provided by the embodiments of the present application;

[0021] Figure 6 An optionally schematic architecture diagram for modeling by the visualization modeling platform provided by the embodiments of the present application;

[0022] Figure 7 An optionally schematic structural diagram of the visualization modeling platform provided by the embodiments of the present application;

[0023] Figure 8 An optionally schematic flow diagram of the information processing method provided by the embodiments of the present application;

[0024] Figure 9 An optionally schematic flow diagram of the information processing method provided by the embodiments of the present application;

[0025] Figure 10 An optionally schematic flow diagram of the information processing method provided by the embodiments of the present application;

[0026] Figure 11 An optionally schematic flow diagram of the information processing method provided by the embodiments of the present application;

[0027] Figure 12 An optionally schematic structural diagram of the information processing device provided by the embodiments of the present application;

[0028] Figure 13 An optionally schematic structural diagram of the electronic device provided by the embodiments of the present application. Detailed implementation manners

[0029] To make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the following will further describe the specific technical solutions of the application in detail with reference to the accompanying drawings in the embodiments of the present application. The following embodiments are used to illustrate the present application, but are not used to limit the scope of the present application.

[0030] The embodiments of the present application may provide an information processing method, system and storage medium. In practical applications, the information processing method may be implemented by an information processing system, and each functional entity in the information processing system may be cooperatively implemented by hardware resources of an electronic device (such as a terminal device or a server), such as computing resources of a processor, etc., and communication resources (such as various communication methods for supporting optical cables, cellular, etc.).

[0031] The information processing method of the embodiments of the present application can be applied to Figure 1The information processing system 10 shown includes: a client 101 and a server 102. Among them, a program capable of displaying a page runs in the client 101, such as a browser or an application (APP), which can receive data input by a user. The server 102 can receive data sent by the client and establish a business model based on the received data. Here, the client 101 and the server 102 can communicate through a network 103.

[0032] In the embodiments of the present application, the server outputs at least two pages. The display of each page in the at least two pages includes: model element components of a business model. Each page in the at least two pages is provided with an interface for receiving modifications to the model element components; upon receiving modification information for the model element components input through a first interface of a first page, modifying the model element components through the modification information to obtain a modified business model, where the first page is any page among the first pages; and outputting the modified business model to the at least two pages.

[0033] In practical applications, the server can provide a visual modeling system and implement the information processing method provided in the embodiments of the present application based on the visual modeling system.

[0034] Here, the client 101 can display any page among the at least two pages.

[0035] In one example, as Figure 2 shown, the server 102 is connected to a third client: client 101-1, client 101-2, and client 101-3. Among them, client 101-1, client 101-2, and client 101-3 are respectively used to display the first page, the second page, and the third page among the at least two pages, and client 101-1 is a client for business personnel, client 101-2 is a client for product personnel, and client 101-3 is a client for R & D personnel.

[0036] In the embodiments of the present application, the server can be any electronic device with information processing capabilities. In one embodiment, the electronic device can be a smart terminal, such as a mobile terminal with wireless communication capabilities like a notebook. In another embodiment, the electronic device can also be a non-portable terminal device with computing functions, such as a desktop computer, a desktop PC, a server, etc.

[0037] Combined with the above information processing system, this embodiment proposes an information processing method that can lower the usage threshold of DDD.

[0038] Next, in combination with Figure 1 or Figure 2The information processing system shown below describes the embodiments of the information processing method, apparatus, device, and storage medium provided in the embodiments of the present application.

[0039] The embodiments of the present application provide an information processing method. The functions implemented by this method can be achieved by a processor in an electronic device calling program code. Of course, the program code can be stored in a computer storage medium. It can be seen that the electronic device includes at least a processor and a storage medium.

[0040] Figure 3 As shown in the following figure, it is a schematic flowchart of the implementation of an information processing method in the embodiments of the present application, which is applied to a server, such as Figure 3 shown, and the method may include the following steps:

[0041] S301. The server outputs at least two pages. The display of each page in the at least two pages includes: model element components of a business model, and each page in the at least two pages is provided with an interface for receiving operations on the model element components.

[0042] In the embodiments of the present application, the business model can be a model established based on business requirements, including model elements corresponding to business elements required to implement the business, and reflecting the relationships between the corresponding business elements based on the relationships between the model elements. In one example, the business model is a domain-driven model. In the embodiments of the present application, no limitation is imposed on the model type of the business model.

[0043] The initial business model output by the server through the page can be an already established business model that can be directly opened, or a business model constructed from modeling data input by the user.

[0044] The server visualizes the business model through the model element components to be displayed in at least two pages output by the server, so that the user can intuitively see the business involved in the business model, the type of the business, and the implementation of the business through the model element components displayed on the page.

[0045] In the case where the business model is a domain-driven model, the model element components can be as Figure 4 shown, and include components corresponding to the following elements: business domain, domain service of a business domain, domain capabilities, extension points, etc.

[0046] In the embodiments of the present application, in the case where the business model is a domain-driven model, the output page also includes the relationships between the model element components of the business model. As Figure 4 shown, the relationships between different business domains are also displayed.

[0047] In the embodiments of the present application, the page output by the server is provided with an interface capable of receiving user operations on the model element components of the business model, so as to receive operations on the model element components of the business model. Among them, the received operations on the model element components may include: adding components, deleting components, modifying component types, modifying component positions, and other operations.

[0048] In an example, the display of the page is as Figure 4 shown, including: an element component area 401 and a business model display area 402. Among them, in the element component area 401, the components corresponding to the elements that may be involved in the business model are displayed, and in the business model display area 402, the business model is displayed based on the components corresponding to the elements included in the business model. Among them, the components displayed in the element component area 401 include: in addition to the components of elements such as business domains, domain services of a business domain, domain capabilities, and extension points, other components may also be included. At this time, the other components can be obtained through a control with the content "more".

[0049] In the embodiments of the present application, different pages can be output to different clients, so that users using different clients can synchronously learn about the structure of the business model. Among them, different clients can be targeted at different types of customers. In an example, at least two pages may include pages output to client A, client B, and client C. Among them, the users targeted by client A are business personnel, the users targeted by client B are product personnel, and the users targeted by client C are R & D personnel.

[0050] S302. The server receives the modification information for the model element component input through the first interface of the first page, and modifies the model element component through the modification information to obtain a modified business model. The first page is any one of the at least two pages.

[0051] When the server outputs at least two pages, any page can receive user operations on the business model element components of the business model.

[0052] When the client receives the user operation on the model component of the business model through the displayed page, it generates modification information corresponding to the received operation and sends the modification information to the server. The server receives the modification information and adjusts the model element components of the business model based on the modification information.

[0053] In one example, the model elements of the business model include: model element A, model element B, and model element C. The page output includes model element components A, B, and C corresponding to model element A. When the deletion operation is received by model element component A, the modification information received by the server indicates the deletion of model element component A. At this time, the server deletes model element component A on the page. When the addition operation of adding model element component D is received, the modification information received by the server indicates the addition of model element component D. At this time, the server adds model element component D on the page.

[0054] S303. The server outputs the modified business model to the at least two pages.

[0055] After the server modifies the business model components displayed in the business model based on the modification information, it synchronously displays the modified business model on at least two pages, so that the operations of a user on the business model can be synchronously displayed on all the output pages, realizing collaborative modeling of the visual business model.

[0056] The information processing method provided by the embodiments of the present application outputs at least two pages. The display of each page in the at least two pages includes: model element components of the business model. Each page in the at least two pages is provided with an interface for receiving operations on the model element components. After receiving the modification information for the model element components input through the first interface of the first page, the model element components are modified through the modification information to obtain a modified business model, where the first page is any one of the at least two pages. The modified business model is output to the at least two pages, so that pages with the model element components of the business model as the page content can be output, and at the same time, multiple pages for different users can be output. When a user operates on the model element components of the business model, the operation result is output to multiple pages, ensuring that while the business model is visualized, the content of the visualized business model seen by different users is synchronized, thereby reducing the usage threshold of DDD.

[0057] In some embodiments, the at least two pages include a second page and a third page. The method further includes: receiving a modeling form input based on the second interface provided by the second page, and receiving business description information input based on the third interface provided by the third page; constructing the business model based on the modeling form and the business description information.

[0058] In the embodiments of the present application, the server can output the second page and the third page to different clients to receive the modeling form input by product personnel, as well as the business description information input by R & D personnel or business personnel. Among them, the business description information input by R & D personnel is the idea of R & D personnel, and the business description information input by business personnel is the business description.

[0059] At this time, the initial business model is a business model constructed based on modeling data, and the modeling data includes the modeling form received based on the second page and the business description information received based on the third page.

[0060] The modeling form is the modeling data received based on the second page. Among them, the second page is output to the client facing business personnel, enabling business personnel to input the modeling form based on the second page. The business description information is the modeling data received based on the third page. Among them, the third page is output to the client facing R & D personnel or product personnel, enabling R & D personnel or product personnel to input business description information based on the third page. The business description information includes: the description information input by R & D personnel reflecting the ideas of R & D personnel for the elements in the business model, and / or the business description input by product personnel reflecting the ideas of product personnel for the elements in the business model.

[0061] In the embodiments of the present application, the second page or the third page and the first page can be the same page or different pages, and the second page and the third page are different pages.

[0062] When the service receives the modeling form and the business description information, it uses the modeling form and the business description information as modeling data to construct an initial business model.

[0063] In some embodiments, the method further includes:

[0064] In the case where the descriptions of the reference object in the modeling form and the business description are inconsistent, prompt information is respectively output on the second page and the third page; continuously receive new descriptions of the reference object based on one or more of the second page and the third page until the descriptions of the reference object on the second page and the third page are consistent.

[0065] The reference object is any element in the business model. In the case where different users have different descriptions of the same element, prompt information can be output on at least two output pages or on the pages with different descriptions of the reference object to prompt the current user that different users have not reached a consensus on the description of the reference object.

[0066] After outputting the prompt message, receive the description of the reference object re-entered by the user with different descriptions of the reference object until the different descriptions of the reference object reach an agreement, that is, different users reach a consensus on the reference object.

[0067] In practical applications, when different users do not reach a consensus on the same element, a third-party program can also be requested to request technical arbitration and receive the description of the element by the third-party program.

[0068] In the embodiments of the present application, when the descriptions of the same element by different users are consistent, that is, after reaching a consensus on the element, the component corresponding to the element can be locked to prompt the user that the current element is an element that has reached a consensus.

[0069] In some embodiments, based on the modeling table and the business description information, the business model is constructed, including: determining modeling data based on the modeling table and the business description information; performing domain modeling in the first stage based on the modeling data to obtain a primary modeling result; performing domain modeling in the second stage based on the primary modeling result to obtain the business model; the granularity of the domain modeling in the first stage is greater than the granularity of the domain modeling in the second stage.

[0070] In the domain modeling in the first stage, domain division, context definition, aggregation definition, and division of domain services can be performed based on the modeling table and the business description, so as to form coarse-grained modeling products such as business aggregations and domain services, that is, the primary modeling result.

[0071] In an example, in the e-commerce scenario, the divided domains include: order domain, inventory domain, commodity domain, merchant domain, etc. According to the business characteristics within each domain, the domain can be further divided. For example, the order domain can be divided into order placement domain, order status domain, B-side order query domain, C-side query domain, etc., and a bounded context is formed after the domain is divided. According to the business functions in each domain, an independent and complete function forms an aggregation. For example, the order placement domain can be divided into order placement aggregation, payment aggregation, risk control aggregation, etc.

[0072] In the domain modeling in the second stage, entities, value objects, extension points, events, commands, etc. are defined based on the primary modeling result, and functions such as database design and Remote Procedure Call (RPC) are designed, so as to determine each business element of the business model. In the embodiments of the present application, the granularity involved in the domain modeling in the first stage and the granularity involved in the domain modeling in the second stage are not specifically limited.

[0073] In some embodiments, the method includes: converting the business model into a business model diagram, a first code file, and a domain modeling table respectively; outputting the business model diagram to a fourth page for a first user; outputting the first code file to a fifth page for a second user; and outputting the domain modeling table to a sixth page for a third user.

[0074] When the server determines that the visualized business model has received an operation instruction indicating that the modification is completed, it confirms that the current business modeling modification is completed, and converts the modified business model. The conversion results include: a business model diagram for a first user, a code file for a second user, and a domain modeling table for a third user. Here, the first user is a business person, enabling the business person to intuitively view the constructed business model through the business model diagram; the second user is a developer, enabling the developer to learn about the established business model through the code file; and the third user is a product person, enabling the product person to intuitively learn about the constructed business model through the domain modeling table.

[0075] After the server obtains the business model diagram for the first user, the first code file for the second user, and the domain modeling table for the third user, it outputs the business model diagram to the fourth page for the first user, outputs the first code file to the fifth page for the second user, and outputs the domain modeling table to the sixth page for the third user.

[0076] In the embodiments of the present application, the first code file includes: domain service code, domain-driven design code, code library code, and code layering code, enabling developers to use the first code file as a template code for business expansion.

[0077] In the embodiments of the present application, after converting the business model into the first code file, the first code file can be pushed to the code repository. Wherein, when the business model is a newly constructed new project, the code can be pushed to GitLab through the Git Api. If the business model is a modified existing business model, that is, an extended model, at this time, the first code file needs to be merged with the code of the existing business model, and the merged new code is pushed to the remote code repository. During the merging process of the first code file and the code of the existing business model, in the case of conflicts between the first code file and the code of the existing business model, conflict resolution is required.

[0078] In the embodiments of the present application, when the business model is a new project, the conversion of the business model code can be implemented under the user business branch, and when the business model is an extended model, the conversion of the business model code can be implemented under the model development branch.

[0079] In some embodiments, the conversion of the business model into the first code file includes: parsing the business model to generate at least one model expression tree; one model expression tree corresponding to at least one domain; traversing the at least one model expression tree to convert the model expression tree into a corresponding code sub-file; and obtaining the first code file based on the converted code sub-files.

[0080] During the process of the server converting the business model into the first code file, lexical analysis and syntax analysis are performed on the model file of the business model to generate at least one model expression tree. Among them, lexical analysis is to parse the marked keywords of the model to identify the key components of the model, such as keywords like domain, aggregate root, entity, domain service, etc. (such as annotations). Syntax analysis is to perform syntax recognition on the parsed marked keywords to determine the relationships between the marked keywords and obtain the model expression tree.

[0081] In the embodiments of the present application, one model expression tree corresponds to one code repository, where one code repository corresponds to one or more domains and includes the code files of the corresponding domains. The domains corresponding to one code repository can be set according to actual needs.

[0082] The model expression tree is a tree composed of hierarchical relationship nodes. From top to bottom, each node represents information such as domain, aggregation, domain service, aggregate root, entity, etc. These nodes have a subordinate relationship with each other, thus forming a model tree. The relationships of multiple traversal objects, that is, nodes, are related according to their mutually described business relationships. For example, a domain contains sub-domains, and a sub-domain has multiple bounded contexts, and an aggregation contains multiple entities, etc.

[0083] After generating at least one model expression tree, the server can traverse the model expression tree using the hierarchical traversal of a graph, that is, the breadth-first algorithm, and sequentially traverse each node of the model expression tree to convert the nodes of the model expression tree into corresponding code segments, thereby sequentially converting each model expression tree into a corresponding code file, that is, a code sub-file.

[0084] The information processing method provided by the embodiments of the present application can automatically generate code for the established business model, thereby reducing the workload of R & D personnel and improving the work efficiency of R & D personnel.

[0085] In some embodiments, the method further includes:

[0086] Parse the received second code file through an abstract syntax tree to obtain a model identifier for modeling of the second code file; the second code file is a code file obtained by modifying the first code file; based on the model identifier, generate at least two local models, and determine the dependency relationship between the at least two local models; based on the dependency relationship, integrate the two local models into a target business model corresponding to the second code file.

[0087] After the server outputs the first code file, it can receive a second code file obtained by a developer modifying the first code file, where the second code file is a code file for business expansion or business modification of the first code file.

[0088] In the embodiments of the present application, different first code files can be called by developers through code file identifiers, and when there is a business expansion requirement or a business modification requirement, the developer can directly modify the first code file to obtain a second code file representing the business requirement, and submit the second code file to the server. At this time, the server receives the second code file.

[0089] The server generates an abstract syntax tree (AST) of the second code file through lexical analysis and syntax analysis, and determines the key links of the second code file based on the AST to extract a model identifier for domain modeling, that is, model metadata. Among them, the model identifier can be an annotation or a tag defined for visual domain modeling. In the embodiments of the present application, no limitation is imposed on the technology used by the server to parse the second code file.

[0090] The server generates local models for individual code sub-files based on the extracted model metadata, and establishes the dependency relationship between the local models. Among them, one code sub-file represents one local model, and integrates the established local models based on the dependency relationship between the local models to obtain a target business model.

[0091] In the embodiments of the present application, it is possible to perform anti-parsing on the second code file extended based on the first code file to realize the extensibility of the first code file.

[0092] In some embodiments, the method further includes: generating a third code file corresponding to the target business model; replacing the second code file based on the third code file.

[0093] After the server generates a target business model, it can convert the target business model into a third code file. Here, the process of converting the target business model into a third code file can refer to the process of converting a business model into a first code file, which will not be elaborated here.

[0094] After the server obtains the third code file, it replaces the received second code file with the third code file and establishes an association relationship between the target business model and the third code file. In the embodiments of the present application, the received second code file is deleted, and the code file generated using the new model is used, so that the model code and the model are matched.

[0095] Next, the information processing method provided in the embodiments of the present application will be further described.

[0096] With the in-depth development of the Internet, the general business scope and logic carried by software are becoming more and more complex. Enterprises are facing the expansion of ToB business, facing serious problems of customization and differentiation. As software developers, product designers, and business operators, how to deal with complex business logics and a large number of differentiated businesses is an urgent problem that every software participant needs to face. As a software ideology, DDD is used to solve the modeling of complex businesses and guide the complicated business development. However, DDD has a high threshold for beginners, and it is difficult for products and business operations to participate in the modeling and unify the language. After modeling, code needs to be redeveloped, resulting in high development costs. In DDD practice, it often occurs that modeling is difficult to continue and business knowledge is difficult to precipitate.

[0097] In the related art, the software development mode is as follows: the business puts forward requirements to produce a Business Requirement Document (BRD), the product conducts product design to produce a Production Requirement Document (PRD), the R & D and the product review the PRD, the requirements are scheduled, and finally the R & D develops the code. For the software development of complex scenarios, a bleeding or anemic model is adopted, and the Model-View-Controller (MVC) model is used to develop the code. Among them, the service layer of the MVC model is mixed with rich logics to express rich business knowledge and complete business orchestration, object conversion, business logic processing, persistent resource access, transaction control, etc.

[0098] The above software development mode has serious business coupling. When the business is simple, only CRUD can meet the requirements. However, with the increasing complexity of the business, the system has become more and more complex, and software modules are highly correlated with each other. Even it is difficult for R & D personnel to explain the functions and design intentions of specific models. In the face of new requirements, R & D personnel need a lot of time to evaluate and deduce how to modify the old code to meet the business requirements. Therefore, the software becomes difficult to maintain, the requirements are greatly delayed, resulting in a large amount of time spent and low work efficiency.

[0099] A large number of anemia models are adopted, with only get / set methods. The business logic of the object itself is mixed in the service layer. The business knowledge is separated from the object. It is doing object-oriented programming (OOP) with the language of object-oriented design (OOD). The object is created in the service and can be modified throughout the process, scattering the business knowledge in various corners, making it difficult to form a business model and business knowledge with high cohesion and low coupling. In an example, in the order placement scenario, order placement is a service, which includes querying product information, querying product price information, calculating product promotion information, calculating product freight information, and calculating coupon information used for the product. In the order placement process, many objects are created. One of the objects is the product object. After calculating the promotion price, freight price, and coupon price of the product, the corresponding price information of the product will be set in the service respectively.

[0100] Only R & D participates in the modeling, and it is difficult for product and business operation to participate. During the process of passing business requirements from business, product, to R & D, information loss or misunderstanding is likely to occur, which easily leads to repeated communication and even overthrowing the code for redevelopment.

[0101] Although DDD can quickly adapt to the development of complex businesses and the modeling can form the accumulation of business knowledge. However, the threshold for using DDD for modeling and development is high, and it is difficult for products and operations to participate. It is often mainly the R & D team that does the modeling by itself. After modeling, the semantics are not clear, and it is difficult for products and operations to understand. After modeling, the DDD framework code needs to be developed. During later development, it is difficult to continuously model the existing modeling results, and even in some cases, after one-time modeling, it becomes the traditional MVC and anemia development mode later.

[0102] In the embodiments of this application, for scenarios with complex and rapid business development and many customization requirements, when using DDD to solve business complexity and differences, to reduce the DDD modeling threshold and cost, a DDD visual modeling platform is designed through a standardized DDD model, providing standardized modeling support and assistance for modeling, enabling business operations and products to participate in business modeling, ensuring no deviation in business understanding through collaborative modeling, and unifying the business language. And through code generation technology and reverse parsing technology, a business modeling result including code, business model diagrams, and domain modeling tables is obtained. The business modeling result is deposited on the platform. When the later requirements change, the model is modified to form the latest modeling result and code, reducing the modeling threshold, increasing communication efficiency, reducing business maintenance costs, and improving development efficiency. Moreover, the business modeling result, as a knowledge asset, facilitates internal and external business communication.

[0103] The DDD visual modeling platform provided by the embodiments of this application may have the following functions:

[0104] The business modeling platform receives the requirements input by the business, the documents input by the product, the ideas input by the R & D, etc., enabling the business, product, and R & D to collaborate in modeling. Through the visual modeling platform, business knowledge and business models are built, and a consistent business language is achieved. Finally, multiple output results are generated through one modeling: framework code for R & D, modeling tables for the product, and business models for the business, etc., thus forming an intuitive, efficient, standard, and easily extensible modeling result.

[0105] The business modeling process may be as Figure 5 shown, including the following three stages: input materials 501, visual business modeling 502, and output modeling results 503.

[0106] In the input materials 501, the business, product, and R & D collaborate in modeling. The input materials include: modeling tables input by the business 504, ideas input by the R & D 505, and business descriptions input by the product 506. The materials required for input modeling are input. Among them, the business 504, R & D 505, and product 506 can input materials through offline discussions or online collaboration methods.

[0107] In the visual business modeling 502, the content displayed on the visual page may include Figure 4 the content shown: model element components and business models of the business model, and may also include: operation controls to perform corresponding operations. The displayed operation controls may include: toolbar controls that trigger the display of the toolbar, new controls that trigger the establishment of a new business model, import controls that trigger the import of a business model, sharing controls that trigger the sharing of the business model, save controls that trigger the saving of the business model, publish controls that trigger the publishing of the business model, etc. Among them, the initial business model displayed on the visual page may be the business model formed by the materials input in the input materials 501 stage, enabling users to modify the initially displayed business model based on the model element components to obtain the required business model. After the visual business modeling 502 stage is completed, the output modeling results 503 are executed.

[0108] Among them, the page output by the visual business modeling 502 can be generated by the business modeling platform.

[0109] In the output modeling results 503, the modeling results are output. The output modeling results include: outputting the business model diagram to the business 504, outputting the domain service template code, DDD template code, code library template code, and code layering module code to the R & D 505, and outputting the domain modeling table to the product 506.

[0110] In Figure 5 the shown visual modeling process, the underlying details of the visual modeling are asFigure 6 As shown in the figure, the business modeling platform 601 respectively executes modeling view selection 6011, domain rough modeling 6012, and domain detailed modeling 6013. Among them, the content determined in the modeling view selection 6011 includes: modeling materials, modeling components, business terms, term relationships, term units, and view dragging. The content determined in the domain rough modeling 6012 includes: bounded context, context relationship, aggregation service, domain service, process choreography, etc. The content determined in the domain detailed modeling 6013 includes: aggregate root, entity, value object, event, command, etc. The output modeling results include: business model diagram, generated code, and domain modeling table. Among them, the generated code includes: different types of code libraries, database / RPC code, domain-driven code, code layering module code, test code, etc. Among them, different types of code libraries correspond to different domains.

[0111] In an example, for the order placement scenario, the model element components in the modeling process include: commodity information bounded context, inventory pre-occupation bounded context, risk control bounded context, user bounded context, etc. Different users can divide the business bounded context according to their business understanding and create a model diagram of the business model online based on the model element components.

[0112] The business modeling platform performs domain-driven modeling. First, it understands and unifies business knowledge, divides domains and bounded contexts, distinguishes aggregations, defines domain services, etc. through brainstorming.

[0113] The business modeling platform provides visualization components, which enable users to drag and drop visualization components online, such as domain boundaries, aggregate roots, domain services, extension points, etc., and reflect the intermediate conclusions and final consensus of brainstorming in the visualization image.

[0114] The final output results of the business modeling platform include: business model diagram, framework development, and domain modeling table. Among them, the business model diagram can facilitate business to view existing business knowledge; framework development can accelerate the R & D development efficiency; the domain modeling table can facilitate the product to understand the model and form the precipitation of business models.

[0115] The business modeling platform supports the import of existing business models. Through excel or existing modeling model diagrams, it generates visualization modeling results. At the same time, it supports online collaborative modeling, supports cross-regional business modeling, and the modeling results can be saved in the cloud platform, which is convenient for subsequent secondary modeling and the precipitation of business knowledge.

[0116] The visualization modeling technology of the business modeling platform provided by the embodiments of this application includes:

[0117] S1. Business, product, and R & D collaborative modeling, including online remote collaborative modeling or modeling sessions at the same physical location.

[0118] S2. Based on the project background and required knowledge, communicate to distinguish its business knowledge and business functions, differentiating core functions and supporting functions. Unify the language among all personnel to form a consensus. If there are inconsistencies in business understanding, a business consensus can be formed through voting or technical arbitration, unifying business terms, units, functions, etc. Users can choose existing models or modeling examples for reuse to simplify the modeling cost. In the embodiments of the present application, the technical arbitration can be to invite an architect team or business experts at the department level or above to conduct a review of business modeling and participate in voting and decision-making from a higher-level perspective.

[0119] S3. Divide the domain boundaries to form bounded contexts and domain relationships, and form coarse-grained modeling products such as business aggregates and domain services. In this process, domain boundaries will be divided. For example, in the e-commerce scenario, the divided domains include: order domain, inventory domain, product domain, merchant domain, etc. Within each domain, further divide the domain according to business characteristics. For example, the order domain can be divided into order placement domain, order status domain, B-side order query domain, C-side query domain, etc., and bounded contexts are formed after the domains are divided. According to business functions in each domain, an independent and complete function forms an aggregate. For example, the order placement domain can be divided into order placement aggregate, payment aggregate, risk control aggregate, etc. The capabilities exposed by the aggregate to the outside can only be through domain services to ensure the stability of the functions within the domain and that the outside is not affected by the inside.

[0120] S4. The product and business will participate in domain division, context definition, aggregate definition, design of domain services, and coarse-grained process orchestration. After forming a consensus, R & D continues with fine-grained modeling, defining entities, value objects, extension points, events, commands, etc., and designing functions such as databases and RPCs.

[0121] S5. Based on step S3, divide the information within the aggregate, extract business characteristics, make implicit concepts explicit, make implicit semantics explicit, and make implicit logic explicit to form domain entities and value objects. An entity is a data with life cycle changes and has a unique id to identify the entity. A value object is a data that is stable and unchanging relative to the current aggregate, equivalent to a snapshot of the data. An object can be an entity or a value object, which needs to be determined according to the business context. For example, a product is a value object in the order placement aggregate but is an aggregate root or entity in the product domain.

[0122] S6. The support functions for the business can be externally exposed through domain services. Among them, the support functions include extended functions and general functions. To respond to the customization, differentiation, and personalization of the business, it is necessary to design extension points for the domain services. When there are customization requirements in the later stage, the extension points should be implemented first to meet the business customization. Domain reuse is extended from the customization of business-oriented reuse to the customization of differential functions. Among them, the extension points include: extension points for vertical businesses (independent extension points used by a single business party), and extension points for horizontal businesses (extension points that can be used by multiple business models and shared by multiple vertical business parties). When the functions extended by the extension points of horizontal businesses hit multiple business scenarios and can respond to multiple types of horizontal businesses, the function of the extension points can be considered to be upgraded to a horizontal general function.

[0123] S7. Design business events. Domain events are used to decouple the relationships between systems in different domains and modules. For example, when placing an order and notifying other systems, it can be notified through domain events. Events are divided into synchronous events and asynchronous events.

[0124] Here, the communication between multiple business domains can be decoupled through the mechanism of event notification. For example, after placing an order, when sending an email or SMS for the order notification, through the domain event, the domain event is sent by the order sub-domain, and the actual notification is carried out by the order notification sub-domain.

[0125] S8. Based on the determined business model, the business model can be saved for later secondary modeling. The model can be published to form framework code, domain modeling tables, etc. The framework code includes: different types of code libraries, standard layered structures, domain-driven code, test code, etc.

[0126] The structure of the business modeling platform provided by the embodiments of the present application is as Figure 7 shown, including: a visual modeling front-end 701, a model code component 702, a model middleware 703, and a bottom-layer storage layer 704.

[0127] The visual modeling front-end 701 includes a front-end view and a Restful interface layer. The front-end view is implemented by technologies such as VUE and Html.

[0128] The visual modeling front-end 701 provides the following interfaces: model modeling 7011, model sharing 7012, model copying 7013, model sharing 7014, model publishing 7015, etc. interfaces to trigger corresponding functions. Model modeling is to mark different domain model components through view components, such as bounded contexts, aggregate roots, entities, etc., and form a business model through these components.

[0129] Model sharing is used to send an existing model to participants via cloud sharing for collaborative modeling. Model replication utilizes the existing modeling results, finds a suitable business model in the model space through keywords, and then performs secondary modeling on this business model through replication to form the modeling results of the current business. Model sharing sends the modeling results to others in a read-only form. Model publishing will trigger the conversion of the business model into model results. The front end of model modeling uses a front-end and back-end separated architecture, which consists of a view layer and a Restful interface layer.

[0130] The model code component 702 includes: a model syntax parser 7021, a model coder 7022, a code pusher 7023, a model semantic parser 7024, a model accessor 7025, and a model tree algorithm 7026, etc., which are used to complete core model parsing, the conversion of the model to code, the merging after code conflicts, as well as model merging and saving, and the submission of the merged code. After model verification, syntax parsing, and model semantic parsing, the model will be expressed as a model tree. Corresponding to the model code component, the most core concept is the model tree, which organizes the business model in the form of a multi-way tree. There are various code conversion algorithms for the model tree. For scenarios where the model is generated or merged from code in the reverse direction, a reverse model parser needs to be implemented to convert the code into a Java AST model (such as using JavaParser), and then use the AST syntax rules to parse out the modeling keywords to generate a modeling model tree, or merge the two trees with the current modeling model tree. The same applies to Go and Python languages. If there is no need to generate a model from code in the reverse direction, FreeMarker can be used to define templates, and the model coder will convert and process the code into code at runtime. The model accessor is the access API of the modeling model, providing access interfaces for model query, model saving, and model merging. Whether the specific functions are provided by the model middleware.

[0131] The model middleware 703 encapsulates the basic functions of the model to form stable model capabilities, and the upper layer does not need to concern the details of the model bottom layer. The model middleware 703 provides RPC interfaces for the upper layer to access. The provided interfaces include: model query 7031, model merger 7032, model saver 7033, model modification 7034, model replication 7035, model sharing 7036, etc. The interfaces provided by the model middleware can be used by the model code component and the model modeling front end.

[0132] The underlying storage layer 704, as a resource for underlying data storage, provides basic support for shared services. The underlying storage layer 704 includes a database 7041, Redis 7042, a cloud document sharing component 7043, a video and voice infrastructure 7044, and GitLab 7045. The database is used for permanent storage, storing model spaces, model data, model permissions, etc. Redis stores hot data and is used when there is a large amount of access. If the concurrency is not high in the early stage, Redis is not used. The cloud document sharing component provides an online document editing function. The video and voice infrastructure provides remote collaborative modeling with the blessing of video and voice functions. The cloud document and video and voice functions, as non-core areas of the modeling platform, use the cloud document and video and voice capabilities provided by the basic technology team. GitLab is used to store code. Among them, the code repository and merging are implemented using Git, and finally the code is stored in GitLab.

[0133] Next, the process of generating business model code and converting the code into a business model will be described.

[0134] After visual modeling generates a business model, code can be automatically generated to reduce the cost of redeveloping domain code after modeling and lower the difficulty of converting from a domain modeling model to domain-driven code, achieving the effect of "model as code". In the embodiments of this application, the process of generating code based on a business model can be as Figure 8 shown, including:

[0135] S801: Receive a code generation request;

[0136] After the user models in the management terminal and finishes modeling, the user selects to publish the code, triggering code generation, and the server receives the code generation request.

[0137] S802: Switch to the corresponding model development (dev-model) branch according to the user account.

[0138] When the server receives the code generation request, it determines whether the current project is a new project. If the project is a new project, a code repository will be created with the developer account and switched to the dev-model (a branch specifically used to store model code, which only contains the code of the model or framework and no specific business logic part). If the project is an old project, it will be switched to the corresponding dev-model branch.

[0139] S803: Generate model code according to the business model.

[0140] Perform lexical analysis and syntax analysis on the model file to generate a model expression tree. Traverse the model expression tree using the breadth-first algorithm of graph level traversal. Traverse the model expression tree in sequence and convert the model expression tree into corresponding individual code files, namely code sub-files, in sequence.

[0141] Here, lexical analysis is to parse the marked keywords of the model to identify the key components of the model. Such as keywords marked for fields, aggregate roots, entities, domain services, etc. (such as annotations).

[0142] Among them, the model expression tree is a hierarchical tree. From top to bottom, it successively represents information such as fields, aggregations, domain services, aggregate roots, entities, etc. They have a subordinate relationship with each other, thus forming a model tree. The relationships among multiple traversal objects are related to their mutually described business relationships. For example, a field contains sub-fields, and a sub-field has multiple bounded contexts, and an aggregation contains multiple entities, etc.

[0143] S804: Push the code to the remote code repository.

[0144] If the project is a new project, push the code to GitLab through the Git Api. If it is existing code, the latest code of the model is in dev-model, and the dev-model needs to be merged into the user business branch. If merge conflicts occur during the merge process, manual conflict resolution is required. There are two ways to resolve conflicts: local merge and online browser merge. Call the Git Api to push the latest code after conflict resolution to the remote code repository. Among them, local merge is performed on the developer's local computer, and online merge is performed on the online code repository management platform.

[0145] In the embodiments of this application, the modeling system provides two branches: the user business branch and dev-model. The user business branch generally refers to daily requirements and the development branch of the project. The dev-model only contains the framework code of the model. After the model changes, the corresponding framework code is maintained in the dev-model branch. Then, merge the code of the dev-model branch into the business branch, and the framework code of domain modeling will be merged with the business code.

[0146] Figure 8 The process of generating code based on the business model provided can also be as Figure 9 shown below:

[0147] S901: Determine whether the business model is a new project.

[0148] If it is, execute S9021; if not, execute S9022.

[0149] S9021: Create a new repository and pull the new model development branch.

[0150] S9022: Switch to the model development branch.

[0151] S903: Perform lexical analysis on the business model.

[0152] S904. Perform syntactic parsing on the lexical parsing result to obtain a model expression tree.

[0153] S905. Perform breadth-first traversal on the model expression tree.

[0154] S906. Generate a single code file according to the nodes of the model expression tree.

[0155] S907. Determine whether the business mode is a new project.

[0156] If it is, execute S9081; if not, execute S9082.

[0157] S9081. Submit the model code to the local model development branch.

[0158] S9082. Merge the model code branch into the user business code branch.

[0159] S9083. Determine whether there is a conflict?

[0160] If not, execute S9089; if there is, execute S9084.

[0161] S9084. Send an email to notify manual merging.

[0162] After conflict resolution, execute S909.

[0163] S909. Call the Git API to submit the code and push it to the remote code repository.

[0164] The business modeling platform provided by the embodiments of the present application can reverse-generate a model by using syntactic techniques through model identifiers such as annotations in the model, convert the code into business knowledge assets, and facilitate the subsequent maintenance of the model and business accumulation. It is used to solve the problem of generating a modeling model in the existing system, and the scenario where after the first modeling, R & D develops on the code side but does not synchronously maintain the model on the modeling platform. Through the technology of reverse-generating the model, it is convenient for the subsequent maintenance of the model and improves the efficiency and convenience of R & D modeling. In the embodiments of the present application, the process of generating a business model based on business code can be as Figure 10 shown, including:

[0165] S1001. Extract the model identifier of the business model.

[0166] Through the AST of the programming language, parse the key links of the code and extract the model identifier of the domain modeling. The model identifier is an annotation or tag defined for visual domain modeling. For Java, Go, Python, etc., parse the code through the AST parsing technology, and Java can use JavaParser.

[0167] S1002. Generate a local model based on the extracted model.

[0168] Traverse the code files, perform lexical analysis, syntax analysis, and model generation on the extracted model metadata, generate a local model for a single code file, and establish the dependency relationship of the local model.

[0169] S1003. Determine the model file of the target business model based on the generated local model.

[0170] Continue to traverse the code files, and finally generate the model file of the overall business model from the local models.

[0171] S1004. Save the model file of the target business model.

[0172] Save the latest model file, which is convenient for later querying the model changes through the model history and accumulating it as an asset of business changes.

[0173] S1005. Delete the original code file and generate a new code file.

[0174] Delete the content of the model code dev-model and generate the model code with the new model, so that the model code and the model diagram are matched.

[0175] S1006. Submit the new model code to the remote code repository.

[0176] Here, in the scenario of generating a model from code in reverse, the model contained in the code is used as the standard. Generate a model through model parsing, and then generate model code from the model. If two models need to be merged, the logic is complex and difficult, and a comparison of the two models is required. Therefore, here the model of the code is used as the standard, the original code of dev-model is deleted, and the newly generated model code branch is submitted to the dev-model branch. Thus, it is ensured that the model and the code are consistent.

[0177] As Figure 10 shown, the process of generating a business model based on business code can also be as Figure 11 shown, including:

[0178] S1101. Traverse the code files and generate an AST.

[0179] S1102. Parse the modeling file annotations and identifiers through the AST.

[0180] S1103. Generate the model corresponding to a single file.

[0181] S1104. Establish model dependencies.

[0182] S1105. Has the code file been parsed completely?

[0183] If the parsing is completed, execute S1106; otherwise, execute S1102.

[0184] S1106. Generate the latest overall model file.

[0185] S1107. Save the new model.

[0186] S1108. Form a change history for later query.

[0187] S1109. Delete the code in the model development branch.

[0188] S1110. Update the new model to generate new model code.

[0189] S1111. Submit the new model code to the local and remote repositories.

[0190] Figure 12 It is a schematic structural diagram of an information processing device according to an embodiment of the present application. As Figure 12 shown, the information processing device 1200 includes:

[0191] A first output module 1201, configured to output at least two pages. The display of each of the at least two pages includes: model element components of a service model. Each of the at least two pages is provided with an interface for receiving an operation on the model element components;

[0192] A receiving module 1202, configured to receive modification information for the model element components input through a first interface on a first page, and modify the model element components according to the modification information to obtain a modified service model. The first page is any one of the at least two pages;

[0193] The first output module 1203 is further configured to output the modified service model to the at least two pages.

[0194] In some embodiments, the device 1200 further includes:

[0195] A receiving module, configured to receive a modeling form input based on a second interface provided by the second page,

[0196] The receiving module is further configured to receive a service description input based on a third interface provided by the third page;

[0197] A construction module, configured to construct the service model based on the modeling form and the service description information.

[0198] In some embodiments, the device 1200 further includes:

[0199] A hint module, configured to output hint information on the second page and the third page respectively when the descriptions of the reference object in the modeling table and the business description are inconsistent;

[0200] A consensus module, configured to continuously receive new descriptions of the reference object based on one or more of the second page and the third page until the descriptions of the reference object on the second page and the descriptions of the reference object on the third page are consistent.

[0201] In some embodiments, the construction module is further configured to:

[0202] Determine modeling data based on the modeling table and the business description information;

[0203] Perform domain modeling in the first stage based on the modeling data to obtain a first-stage modeling result;

[0204] Perform domain modeling in the second stage based on the first-stage modeling result to obtain the business model; the granularity of the domain modeling in the first stage is greater than the granularity of the domain modeling in the second stage.

[0205] In some embodiments, the apparatus 1200 further includes:

[0206] A conversion module, configured to convert the business model into a business model diagram, a first code file, and a domain modeling table respectively;

[0207] A second output module, configured to output the business model diagram to a fourth page for a first user;

[0208] The second output module is further configured to output the first code file to a fifth page for a second user;

[0209] The second output module is further configured to output the domain modeling table to a sixth page for a third user.

[0210] In some embodiments, the conversion module is further configured to:

[0211] Parse the business model to generate at least one model expression tree; one model expression tree corresponds to at least one domain;

[0212] Traverse the at least one model expression tree and convert the model expression tree into a corresponding code sub-file;

[0213] Obtain the first code file based on the converted code sub-files.

[0214] In some embodiments, the apparatus 1200 further includes: an anti-parsing module, configured to:

[0215] Parse the received second code file to obtain the model identifier for modeling of the second code file; the second code file is the code file received after modifying the first code file.

[0216] Generate at least two local models based on the model identifier, and determine the dependency relationship between the at least two local models.

[0217] Integrate the two local models into the target business model corresponding to the second code file based on the dependency relationship.

[0218] In some embodiments, the apparatus 1200 further includes: a replacement module, configured to:

[0219] Generate a third code file corresponding to the third business model.

[0220] Replace the second code file based on the third code file.

[0221] The description of the above apparatus embodiments is similar to the description of the above method embodiments, and has similar beneficial effects to the method embodiments. For the technical details not disclosed in the system embodiments of the present application, please refer to the description of the method embodiments of the present application for understanding.

[0222] It should be noted that in the embodiments of the present application, if the above information processing method is implemented in the form of software function modules and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiments of the present application, in essence, or the part that contributes to the related technology, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to run all or part of the methods described in the embodiments of the present application. The foregoing storage medium includes: various media such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a magnetic disk, or an optical disc that can store program codes. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.

[0223] The embodiments of the present application further provide an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor runs the computer program, the steps in the information processing method of the above server are implemented.

[0224] Correspondingly, the embodiments of the present application provide a storage medium, that is, a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, the information processing method provided by the server in the above embodiments is implemented.

[0225] It should be noted here that the description of the above storage medium embodiments is similar to that of the above method embodiments and has similar beneficial effects to those of the method embodiments. For the technical details not disclosed in the storage medium embodiments of the present application, please refer to the description of the method embodiments of the present application for understanding.

[0226] It should be noted that Figure 13 is a schematic diagram of a hardware entity of the electronic device (server side) in the embodiments of the present application. As Figure 13 shown, the electronic device 1300 includes: a processor 1301, at least one communication bus 1302, at least one external communication interface 1304, and a memory 1305. Among them, the communication bus 1302 is configured to implement connection communication between these components. In one example, the electronic device 1300 further includes: a user interface 1303. Among them, the user interface 1303 may include a display screen, and the external communication interface 1304 may include a standard wired interface and a wireless interface.

[0227] The memory 1305 is configured to store instructions and applications that can be run by the processor 1301, and can also cache data to be processed or already processed by the processor 1301 and each module in the electronic device (for example, image data, audio data, voice communication data, and video communication data), and can be implemented by flash memory (FLASH) or random access memory (Random Access Memory, RAM).

[0228] It should be understood that the "one embodiment" or "an embodiment" mentioned throughout the specification means that the specific features, structures, or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the "in one embodiment" or "in some embodiments" that appear throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the magnitudes of the serial numbers of the above processes do not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application. The serial numbers of the embodiments of the present application above are only for description and do not represent the advantages and disadvantages of the embodiments.

[0229] It should be noted that in this article, the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or device including that element.

[0230] In several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling, direct coupling, or communication connection between the displayed or discussed components with each other can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.

[0231] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they can be located in one place or distributed to multiple network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0232] In addition, each functional unit in the embodiments of this application can be all integrated in a processing unit, or each unit can be separately used as a unit, or two or more units can be integrated in a unit; the above-mentioned integrated units can be implemented in the form of hardware, or in the form of a combination of hardware and software functional units.

[0233] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions. The foregoing program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps including the above method embodiments; and the foregoing storage medium includes: various media such as removable storage devices, ROMs, magnetic disks or optical discs that can store program codes.

[0234] Alternatively, if the above integrated units of the present application are implemented in the form of software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of the present application essentially or the part that contributes to the related technology can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in the various embodiments of the present application. The foregoing storage medium includes: various media such as removable storage devices, ROMs, magnetic disks, or optical discs that can store program codes.

[0235] As described above, the above are only the implementation manners of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. An information processing method, characterized in that, the method includes: outputting at least two pages, and the display of each of the at least two pages includes: model element components of a business model, and each of the at least two pages is provided with an interface for receiving information regarding the model element components, and the business model is a model established based on business requirements; receiving modification information regarding the model element components input through a first interface of a first page, and modifying the model element components based on the modification information to obtain a modified business model, where the first page is any one of the at least two pages; outputting the modified business model to the at least two pages; wherein, the at least two pages include a second page and a third page, the second page is used for receiving a modeling form, and the third page is used for receiving business description information, and the modeling form and the business description information are used to obtain a business model through domain modeling in a first stage and domain modeling in a second stage, and the granularity of the domain modeling in the first stage is greater than the granularity of the domain modeling in the second stage.

2. The method according to claim 1, characterized in that, the method further includes: receiving the modeling form input through a second interface provided by the second page, receiving the business description information input through a third interface provided by the third page; constructing the business model based on the modeling form and the business description information.

3. The method according to claim 2, characterized in that, the method further includes: in the case where the descriptions of a reference object in the modeling form and the business description information are inconsistent, outputting prompt information on the second page and the third page respectively; continuously receiving new descriptions regarding the reference object based on one or more of the second page and the third page until the descriptions of the reference object on the second page and the descriptions of the reference object on the third page are consistent.

4. The method according to claim 2, wherein, the constructing the business model based on the modeling form and the business description information includes: determining modeling data based on the modeling form and the business description information; performing domain modeling in the first stage based on the modeling data to obtain a first-stage modeling result; performing domain modeling in the second stage based on the first-stage modeling result to obtain the business model.

5. The method according to claim 1, characterized in that, the method includes: converting the business model into a business model diagram, a first code file, and a domain modeling table respectively; outputting the business model diagram to a fourth page for a first user; outputting the first code file to a fifth page for a second user; outputting the domain modeling table to a sixth page for a third user.

6. The method according to claim 5, characterized in that, the converting the business model into a first code file includes: parsing the business model to generate at least one model expression tree; one model expression tree corresponds to at least one domain; Traverse the at least one model expression tree and convert the model expression tree into a corresponding code sub-file; Obtain the first code file based on the converted code sub-file.

7. The method according to claim 5, wherein, the method further includes: Parse the received second code file to obtain a model identifier for modeling of the second code file; the second code file is a code file obtained by modifying the first code file received; Generate at least two local models based on the model identifier and determine the dependency relationship between the at least two local models; Integrate the two local models into a target business model corresponding to the second code file based on the dependency relationship.

8. The method according to claim 7, wherein, the method further includes: Generate a third code file corresponding to the target business model; Replace the second code file based on the third code file.

9. An information processing apparatus, wherein, the apparatus includes: A first output module, configured to output at least two pages, and the display of each page in the at least two pages includes: model element components of a business model, and each of the at least two pages is provided with an interface for receiving an operation on the model element components, and the business model is a model established based on business requirements; A receiving module, configured to receive modification information for the model element components input through a first interface of a first page, and modify the model element components according to the modification information to obtain a modified business model, where the first page is any one of the at least two pages; The first output module is further configured to output the modified business model to the at least two pages; wherein, the at least two pages include a second page and a third page, the second page is configured to receive a modeling form, and the third page is configured to receive business description information, and the modeling form and the business description information are used to obtain a business model through domain modeling in a first stage and domain modeling in a second stage, and the granularity of the domain modeling in the first stage is greater than the granularity of the domain modeling in the second stage.

10. An electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein, when the processor runs the computer program, the steps in the information processing method according to any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium, on which a computer program is stored, wherein, when the computer program is run by a processor, the information processing method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • IOS application development method, system and device, medium and program product

    CN113835691A