CN113051062A - Collaborative modeling method, device, electronic equipment and medium - Google Patents
Collaborative modeling method, device, electronic equipment and medium Download PDFInfo
- Publication number
- CN113051062A CN113051062A CN202110427487.1A CN202110427487A CN113051062A CN 113051062 A CN113051062 A CN 113051062A CN 202110427487 A CN202110427487 A CN 202110427487A CN 113051062 A CN113051062 A CN 113051062A
- Authority
- CN
- China
- Prior art keywords
- user
- state
- directed acyclic
- acyclic graph
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000004891 communication Methods 0.000 claims abstract description 69
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 13
- 238000011022 operating instruction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
The present disclosure provides a collaborative modeling method, including: acquiring the state of a directed acyclic graph; under the condition that the state of the directed acyclic graph is a locked state, responding to a model editing instruction of a first user in an editing mode, and updating the model in the database; pushing model update information to a second user in a read-only mode based on the communication connection, wherein the model update information includes a state of the updated model; and responding to an unlocking instruction of the first user, setting the state of the directed acyclic graph as an unlocked state, and ending the modeling process of the first user. In addition, the present disclosure also provides a collaborative modeling apparatus, an electronic device, a computer-readable storage medium, and a computer program product. The collaborative modeling method and device provided by the disclosure can be applied to the technical field of computers, the financial field or other fields.
Description
Technical Field
The present disclosure relates to the field of computer technologies, and more particularly, to a collaborative modeling method, a collaborative modeling apparatus, an electronic device, a computer-readable storage medium, and a computer program product.
Background
For the same service demand, multi-person collaborative modeling is often required, and the situation that multiple persons edit the same Directed Acyclic Graph (DAG) simultaneously and online inevitably occurs in the multi-person collaborative modeling. Due to untimely communication, problems of repeated execution of modeling tasks, coverage of models and the like can be caused, modeling time of modeling personnel is wasted, running resources of the platform are consumed, and poor interaction experience is brought to users.
In the process of realizing the method, the problems of secondary model coverage, repeated task execution, incapability of timely synchronizing the models and the like exist in the conventional collaborative modeling method based on the directed acyclic graph.
Disclosure of Invention
In view of the above, the present disclosure provides a collaborative modeling method, a collaborative modeling apparatus, an electronic device, a computer-readable storage medium, and a computer program product.
One aspect of the present disclosure provides a collaborative modeling method, including: acquiring the state of a directed acyclic graph; under the condition that the state of the directed acyclic graph is a locked state, responding to a model editing instruction of a first user in an editing mode, and updating the model in the database; pushing model update information to a second user in a read-only mode based on the communication connection, wherein the model update information comprises a state of an updated model; and responding to an unlocking instruction of the first user, setting the state of the directed acyclic graph to be an unlocked state, and ending the modeling process of the first user.
According to an embodiment of the present disclosure, the acquiring a state of a directed acyclic graph includes: acquiring the state of the directed acyclic graph based on the dictionary table; wherein, the dictionary table includes: the identification information of the directed acyclic graph, the state of the directed acyclic graph, the identification information of the first user, and the address of the first user.
According to an embodiment of the present disclosure, further comprising: responding to a request of a modeling user for accessing the directed acyclic graph, and acquiring the state of the directed acyclic graph based on a dictionary table; determining the modeling user as the first user when the state of the directed acyclic graph is an unlocked state; and determining the modeling user as the second user when the state of the directed acyclic graph is a locked state.
According to an embodiment of the present disclosure, after determining that the modeling user is the first user, the method further includes: storing the identification information of the first user and the address of the first user into the dictionary table; setting the state of the directed acyclic graph to be a locking state in response to a locking instruction of the first user; establishing a communication connection with the first user based on a duplex full-duplex communication protocol; and storing the identification information of the first user, the address of the first user and the session information of the first user into an editing hash table corresponding to the directed acyclic graph.
According to an embodiment of the present disclosure, after determining that the modeling user is the second user, the method further includes: establishing a communication connection with the second user based on a duplex full-duplex communication protocol; and storing the identification information of the second user, the address of the second user and the session information of the second user into a read-only hash table corresponding to the directed acyclic graph.
According to an embodiment of the present disclosure, further comprising: determining a user corresponding to the disconnected communication connection based on the session information when the disconnection of the communication connection is detected; and setting the state of the directed acyclic graph to an unlocked state when the user corresponding to the disconnected communication connection is the first user.
According to an embodiment of the present disclosure, the model editing instruction includes a save model instruction, an operation operator instruction, and a stop operator instruction; the updating the state of the model in the database in response to the model editing instruction of the first user in the editing mode includes: and under the condition that any one instruction of a model saving instruction, an operator operating instruction and an operator stopping instruction of the first user is received, replacing the model in the database by using the model edited by the first user.
According to an embodiment of the present disclosure, further comprising: and when the state of the directed acyclic graph is a locked state, not responding to the lock command, the model edit command, and the unlock command of the second user.
According to the embodiment of the present disclosure, after setting the state of the above directed acyclic graph to an unlocked state, the method further includes: and disconnecting the communication connection with the first user and the second user.
Another aspect of the disclosure provides a collaborative modeling apparatus including an obtaining module, a first executing module, a sending module, and a second executing module. The acquisition module is used for acquiring the state of the directed acyclic graph; a first execution module, configured to update a model in a database in response to a model editing instruction of a first user in an editing mode when the state of the directed acyclic graph is a locked state; the sending module is used for pushing model updating information to a second user in a read-only mode based on communication connection, wherein the model updating information comprises the state of an updated model; and the second execution module is used for responding to the unlocking instruction of the first user, setting the state of the directed acyclic graph to be an unlocked state, and ending the modeling process of the first user.
According to an embodiment of the present disclosure, the obtaining module is further configured to obtain a state of the directed acyclic graph based on the dictionary table; wherein, the dictionary table includes: the identification information of the directed acyclic graph, the state of the directed acyclic graph, the identification information of the first user, and the address of the first user.
According to an embodiment of the present disclosure, the collaborative modeling apparatus further includes a determination module, where the determination module includes a first determination unit, a second determination unit, and a third determination unit. The first determining unit is used for responding to a request of a modeling user for accessing the directed acyclic graph and acquiring the state of the directed acyclic graph based on a dictionary table; a second determining unit configured to determine the modeling user as the first user when the state of the directed acyclic graph is an unlocked state; and a third determining unit configured to determine that the modeling user is the second user when the state of the directed acyclic graph is a locked state.
According to an embodiment of the present disclosure, the second determining unit further includes a first determining subunit, a second determining subunit, a third determining subunit, and a fourth determining subunit. The first determining subunit is configured to store the identification information of the first user and the address of the first user in the dictionary table; a second determining subunit, configured to set a state of the directed acyclic graph to a locked state in response to a lock instruction of the first user; a third determining subunit, configured to establish a communication connection with the first user based on a duplex communication protocol; and a fourth determining subunit, configured to store the identification information of the first user, the address of the first user, and session information of the first user in an edit hash table corresponding to the directed acyclic graph.
According to an embodiment of the present disclosure, the third determining unit further includes a fifth determining subunit and a sixth determining subunit. The fifth determining subunit is configured to establish a communication connection with the second user based on a duplex communication protocol; and a sixth determining subunit, configured to store the identification information of the second user, the address of the second user, and session information of the second user in a read-only hash table corresponding to the directed acyclic graph.
According to an embodiment of the present disclosure, the collaborative modeling apparatus further includes a determining module, where the determining module includes a first determining unit and a second determining unit. A first determination unit configured to determine, when the disconnection of the communication connection is detected, a user corresponding to the disconnected communication connection based on the session information; and a second determination unit configured to set the state of the directed acyclic graph to an unlocked state when the user corresponding to the disconnected communication connection is the first user.
According to an embodiment of the present disclosure, the model editing instruction includes a save model instruction, an operation operator instruction, and a stop operator instruction; the first execution module is further configured to replace the model in the database with the model edited by the first user when any one of a model saving instruction, an operator operating instruction, and an operator stopping instruction of the first user is received.
According to an embodiment of the present disclosure, the collaborative modeling apparatus further includes a third execution module. And the third execution module is used for disconnecting the communication connection with the first user and the second user.
Another aspect of the present disclosure provides an electronic device including: one or more processors; memory to store one or more instructions, wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement a method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when executed.
Another aspect of the disclosure provides a computer program product comprising computer executable instructions for implementing the method as described above when executed.
According to the embodiment of the disclosure, under the condition that the directed acyclic graph is in a locked state, the change of the model by the first user in the editing mode is pushed to the second user in the read-only mode in real time through communication connection, so that the real-time synchronization of the model is realized, the problems of repeated execution of task tasks and untimely synchronization of the model in the collaborative modeling process are avoided, and the user experience of the modeling process is improved.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments of the present disclosure with reference to the accompanying drawings, in which:
fig. 1 schematically shows a working principle diagram of the HTTP protocol;
FIG. 2 schematically illustrates an exemplary system architecture 200 to which a collaborative modeling approach may be applied, according to an embodiment of the present disclosure;
FIG. 3 schematically illustrates a flow chart of a collaborative modeling method according to an embodiment of the present disclosure;
FIG. 4 schematically shows a schematic diagram of a collaborative modeling flow according to another embodiment of the present disclosure;
FIG. 5 schematically illustrates a timing diagram of first user and second user status updates, according to another embodiment of the disclosure;
FIG. 6 is a schematic diagram illustrating the operation principle of the WebSocket protocol;
FIG. 7 schematically shows a block diagram of a collaborative modeling apparatus according to an embodiment of the present disclosure;
FIG. 8 schematically shows a block diagram of an electronic device adapted to implement a collaborative modeling method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
With the development of the internet, artificial intelligence is becoming a key component in the enterprise transformation process, and a machine learning platform is developed in response to the reduction of the threshold of machine learning. In the development process of the machine learning platform, a large number of efficient machine learning algorithm components are accumulated, and based on the components, modeling personnel can quickly establish a model to realize a business process and solve specific problems. Among them, the modeling method of the drag-type task flow becomes one of the mainstream in the industry.
Aiming at the same service requirement, multi-person collaborative modeling is often needed, and the situation that multiple persons edit the same directed acyclic graph simultaneously and online inevitably occurs when the multi-person collaborative co-modeling is carried out. Sometimes, problems of repeated task execution, model coverage and the like can be caused due to untimely communication, so that the modeling time of modeling personnel is wasted, the running resources of the platform are consumed, and poor interaction experience is brought to users.
At present, although a check-in check-out mechanism can be adopted, namely the directed acyclic graph is locked during editing and is only edited by a current user, other users enter the current directed acyclic graph into a read-only mode, an HTTP request and a window event are sent through JavaScript to complete interaction with a server, and the locking state of the directed acyclic graph is set. If the problems of browser non-response, network abnormity and the like are encountered, the browser cannot send an unlocking request to the server in time, and the situations that the directed acyclic graph is locked, the model cannot be stored in time and the like are caused. To a certain extent, although the check-in and check-out mechanism can solve the problems of repeated execution of tasks and covered models, the problems of locking of the directed acyclic graph, incapability of storing the models in time, difficulty in timely acquiring the check-out information of the directed acyclic graph by a read-only user and the like still exist.
Fig. 1 schematically shows the working principle of the HTTP protocol.
As shown in fig. 1, the HTTP protocol is a stateless, connectionless, unidirectional application layer protocol, and adopts a request/response model, where a communication request can only be initiated by a client and a server responds to the request. In the related art, only the HTTP protocol is adopted, and the server cannot actively initiate a message to the client. The read-only user is difficult to achieve synchronization with the editing user, the editing user adjusts and modifies the model, the read-only user cannot sense the model and only can read the model state when entering the directed acyclic graph or quit modeling and re-enter the directed acyclic graph to re-acquire the latest model state. And if the client side adopts a mechanism of regularly refreshing the directed acyclic graph, the long polling is realized through frequent asynchronous JavaScript and XML (AJAX) requests. Under the conditions of small operator number and uncomplicated connection, the read-only user can be synchronized with the editing user; however, under the conditions of large number of operators and complex connection, a timing refreshing mechanism is not a little burden for both the client and the server. The timing refresh mechanism is not only inefficient, but also very resource-wasting.
In view of the above problems, the embodiments of the present disclosure add a heartbeat mechanism on the basis of a check-in check-out mechanism, and implement interaction between a server and a client by using a duplex full-duplex communication protocol, so as to obtain a collaborative modeling method based on collaborative modeling of a directed acyclic graph. After a user locks the directed acyclic graph and enters an editing mode, other users enter the directed acyclic graph into a read-only mode, and when the user is edited to store a model, run an operator and stop the operator, the directed acyclic graph of the read-only user is updated to be in a latest state in real time, so that the model synchronization of the editing mode and the read-only mode is achieved; the user exits the editing mode, the directed acyclic graph is set to be in an unlocked state, and the read-only user of the current directed acyclic graph is informed; the user loses connection with the current locking directed acyclic graph due to page jumping, browser closing or network abnormity, the directed acyclic graph can be normally and automatically unlocked, data is automatically stored in the database, and the read-only user of the current directed acyclic graph is informed.
Specifically, embodiments of the present disclosure provide a collaborative modeling method, a collaborative modeling apparatus, an electronic device, a computer-readable storage medium, and a computer program product. The collaborative modeling method comprises the following steps: acquiring the state of a directed acyclic graph; under the condition that the state of the directed acyclic graph is a locked state, responding to a model editing instruction of a first user in an editing mode, and updating the model in the database; pushing model update information to a second user in a read-only mode based on the communication connection, wherein the model update information includes a state of the updated model; and responding to an unlocking instruction of the first user, setting the state of the directed acyclic graph as an unlocked state, and ending the modeling process of the first user.
FIG. 2 schematically illustrates an exemplary system architecture 200 to which the collaborative modeling approach may be applied, according to an embodiment of the present disclosure. It should be noted that fig. 2 is only an example of a system architecture to which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, and does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 2, the system architecture 200 according to this embodiment may include terminal devices 201, 202, 203, a network 204 and a server 205.
The terminal devices 201, 202, 203 may be various electronic devices having a display screen and supporting information input and network transmission, including but not limited to a tablet computer, a notebook computer, a desktop computer, and the like.
The server 205 may be a single server or a server group in the vicinity of the terminal devices 201, 202, and 203, or may be a server or a server group in the cloud. The server 205 includes at least one processor and at least one memory, and the server 205 may receive the request sent by the terminal device 201, 202, 203, execute a corresponding instruction according to the request using the processor, store the processing result in the memory, and also feed the processing result back to the terminal device 201, 202, 203.
The network 204 is used to provide a medium of communication connection between the terminal devices 201, 202, 203 and the server 205. Network 204 may include various connection types, such as wired and/or wireless communication connections, and so forth. A user may interact with a server 205 over a network 204 using terminal devices 201, 202, 203 based on a communication protocol to receive or send messages or the like.
It should be noted that the collaborative modeling method provided by the embodiment of the present disclosure may be generally executed by the server 205. Accordingly, the collaborative modeling apparatus provided by the embodiments of the present disclosure may be generally disposed in the server 205. The collaborative modeling method provided by the embodiments of the present disclosure may also be performed by a server or a server cluster that is different from the server 205 and is capable of communicating with the terminal devices 201, 202, 203 and/or the server 205. Correspondingly, the collaborative modeling apparatus provided by the embodiment of the present disclosure may also be disposed in a server or a server cluster different from the server 205 and capable of communicating with the terminal devices 201, 202, 203 and/or the server 205.
It should be understood that the number of terminal devices, networks, and servers in fig. 2 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
FIG. 3 schematically shows a flow chart of a collaborative modeling method according to an embodiment of the present disclosure.
As shown in fig. 3, the method includes operations S310 to S340.
In operation S310, a state of a directed acyclic graph is acquired.
According to the embodiment of the disclosure, the states of the directed acyclic graph include a locked state and an unlocked state, and the states of the directed acyclic graph can be switched after receiving a corresponding instruction.
In operation S320, in the case where the state of the directed acyclic graph is the locked state, the model in the database is updated in response to the model edit instruction of the first user in the edit mode.
According to the embodiment of the disclosure, in the case that the directed acyclic graph is in the locked state, the server responds to only the relevant instruction of the first user in the editing mode. After receiving a model editing instruction of the first user, the server may store the model in the current directed acyclic graph into the database, so as to update the model in the database.
In operation S330, model update information is pushed to a second user in a read-only mode based on the communication connection.
According to an embodiment of the present disclosure, the model update information may include a state of the updated model and may further include user information of the first user.
According to embodiments of the present disclosure, the communication connection may include a first communication connection between the first user and the server, and a second communication connection between the second user and the server. Through the first communication connection, the server may obtain user information of the first user, such as identification information of the first user, an address of the first user, and the like. After receiving the instruction of the first user, the server can push the user information of the first user and the updated model to the second user through the second communication connection, so that the second user can know the latest state of the model.
In operation S340, in response to the unlocking instruction of the first user, the state of the directed acyclic graph is set to the unlocked state, and the modeling process of the first user is ended.
According to the embodiment of the disclosure, under the condition that the directed acyclic graph is in a locked state, the change of the model by the first user in the editing mode is pushed to the second user in the read-only mode in real time through communication connection, so that the real-time synchronization of the model is realized, the problems of repeated execution of task tasks and untimely synchronization of the model in the collaborative modeling process are avoided, and the user experience of the modeling process is improved.
The method shown in fig. 3 is further described with reference to fig. 4-6 in conjunction with specific embodiments.
FIG. 4 schematically shows a schematic diagram of a collaborative modeling flow according to another embodiment of the present disclosure.
As shown in fig. 4, first, when receiving a request for accessing the directed acyclic graph from a modeler, the server performs a method as operation S401 to determine a state of the directed acyclic graph, so as to determine an operating mode of the modeler.
According to an embodiment of the present disclosure, the condition of obtaining the directed acyclic graph may be a state of obtaining the directed acyclic graph based on the dictionary table. The dictionary table may be a data dictionary table created when creating the directed acyclic graph or during using the directed acyclic graph, and the data dictionary table may be as shown in table 1, and includes identification information of the directed acyclic graph, a state of the directed acyclic graph, identification information of the first user, and an address of the first user.
TABLE 1
According to embodiments of the present disclosure, the states of a directed acyclic graph may include a locked state and an unlocked state. Determining a modeling user as a first user under the condition that the state of the directed acyclic graph is an unlocked state; and determining the modeling user as a second user in the case that the state of the directed acyclic graph is the locking state.
According to the embodiment of the disclosure, when the modeling user is the first user, the identification information of the first user and the address of the first user may be stored in the dictionary table shown in table 1, and a lock instruction is waited for.
According to the embodiment of the disclosure, the locking instruction may be initiated by the first user actively, or may be automatically executed by the server after a preset time after the first user appears. For example, when the first user accesses the directed acyclic graph in the unlocked state, the first user directly starts editing the model without sending a lock instruction, and the server may directly lock the directed acyclic graph after 30 seconds after detecting the access of the first user.
In operation S402, the directed acyclic graph is set to a locked state, and an edit mode is entered.
According to the embodiment of the disclosure, when the first user is in the editing mode, before the server responds to and executes the model editing instruction of the first user, the server may further verify the user information as in operation S403, and compare the user information of the instruction initiating user with the user information of the first user recorded in the dictionary table. If so, executing the method of operation S404, responding and executing the model editing instruction; if not, the method of operation S405 is executed, and a read-only mode is entered, and the directed acyclic graph is waited to be unlocked.
According to embodiments of the present disclosure, the model edit instruction may include a save model instruction, a run operator instruction, and a stop operator instruction.
According to the embodiment of the disclosure, after the first user enters the editing mode, the server may further establish a communication connection with the first user based on a duplex communication protocol, and through the communication connection, the server may actively acquire the model being edited by the first user.
According to the embodiment of the disclosure, in the case of receiving any one of the saving model instruction, the running operator instruction and the stopping operator instruction of the first user, the model in the edition of the first user can be used for replacing the model in the database.
When the modeling user is the second user, the method may also enter the read-only mode, for example, in operation S405, and wait for unlocking the directed acyclic graph.
According to an embodiment of the present disclosure, the server may establish a communication connection with the second user based on a duplex communication protocol while the second user is in the read-only mode. When a model editing instruction of a first user is received, the server can actively send the updated model in the database and the user information of the first user to a second user through the communication connection, so that the real-time synchronization of the model is realized.
According to the embodiment of the disclosure, when the second user is in the read-only mode, the related information of the directed acyclic graph can be checked, but the server does not respond to the locking instruction, the model editing instruction and the unlocking instruction of the second user.
In operation S406, an unlock instruction is responded to and executed.
According to the embodiment of the disclosure, after the server executes the unlocking instruction, the first user and the second user can quit the editing mode and the read-only mode respectively, the communication connection between the first user and the second user is disconnected, the directed acyclic graph is set to be in an unlocked state, and the modeling process of the first user is finished. After the directed acyclic graph is unlocked, the second user may initiate a request for accessing the directed acyclic graph again to start the modeling process. In particular, when the number of the second users in the read-only mode is one, the users can directly enter the editing mode.
According to the embodiment of the disclosure, the accessed modeling users are classified based on the state of the directed acyclic graph, so that the situation that modeling operation is carried out by multiple persons at the same time can be effectively avoided, the waste of resources is reduced, and the model is prevented from being covered.
Fig. 5 schematically shows a timing diagram of first user and second user status updates according to another embodiment of the present disclosure.
As shown in fig. 5, after the directed acyclic graph is locked by the first user and enters the editing mode, the second user enters the directed acyclic graph as the read-only mode, and when the first user saves the model, runs the operator, and stops the operator, the directed acyclic graph of the second user is updated to the latest state in real time, so that the model synchronization between the editing mode and the read-only mode is achieved; the first user exits the editing mode, the directed acyclic graph is set to be in an unlocked state, and a second user of the current directed acyclic graph is informed; the first user loses connection with the current locking directed acyclic graph due to page jumping, browser closing or network abnormity, the directed acyclic graph can be normally and automatically unlocked, data is automatically stored in the database, and the second user of the current directed acyclic graph is informed.
Fig. 6 schematically shows a schematic diagram of the operation principle of the WebSocket protocol.
As shown in fig. 6, the WebSocket protocol is implemented based on the TCP protocol, and is a protocol for performing full duplex communication on a single TCP connection, and the client and the server only need to complete one handshake, and a persistent connection can be established between the client and the server, so that data exchange becomes simpler, and the server is allowed to actively push data to the client.
In the collaborative modeling process according to another embodiment of the present disclosure, the duplex full duplex communication protocol may be a WebSocket protocol. Based on the protocol, after the server establishes the first HTTP connection with the first user or the server establishes the first HTTP connection with the second user, subsequent data exchange does not need to resend the HTTP request. Compared with the HTTP protocol, the protocol does not need to set a polling mechanism in the server and does not need to repeatedly establish HTTP connection, so that bandwidth resources are saved.
According to embodiments of the present disclosure, a hash table (convurrenthashmap) may be created for storing user information of a modeling user. For example, an edit hash table (writeMap) may be created for storing user information of a first user and a read-only hash table (readMap) may be created for storing user information of a second user. The primary key (key) of the hash table is identification information (UUID) of the directed acyclic graph, and the specific value is a list for storing the identification information of the directed acyclic graph, the identification information of the first user or the second user, the address of the first user or the second user, and session information for storing the first user or the second user.
In another embodiment of the present disclosure, after establishing the WebSocket connection with the first user, the method further includes storing the identification information of the first user, the address of the first user, and the session information with the first user in an edit hash table; after establishing the WebSocket connection with the second user, the method also comprises the step of storing the identification information of the second user, the address of the second user and the session information of the second user into the read-only hash table.
According to the embodiment of the disclosure, after the WebSocket connection is established with the first user, the server can also verify the information in the hash table. For example, it may be determined whether the identification information of the directed acyclic graph exists in the edit hash table; if the hash table does not exist, adding and editing the identification information of the directed acyclic graph into the hash table; and if so, adding the identification information of the directed acyclic graph into the read-only hash table. Therefore, when the model information in the database changes, the server can push the relevant information to the modeling user in the read-only mode.
According to the embodiment of the disclosure, after the WebSocket connection between the first user and the second user is completed, the server can realize the synchronization of the models and the information push function. For example, when the first user saves, runs, and stops the directed acyclic graph, the server may obtain the operation information, and send the latest state of the model to the second user corresponding to the directed acyclic graph in the read-only hash table.
According to the embodiment of the disclosure, when it is detected that the WebSocket connection is disconnected, the server can also determine the user corresponding to the disconnected WebSocket connection based on the session information, and set the state of the directed acyclic graph to be the unlocked state when the user corresponding to the disconnected WebSocket connection is the first user. For example, it may be determined whether the session information of the server is consistent with the session information of the directed acyclic graph in the edit hash table; if the two states are consistent, it can be considered that the first user has behaviors such as disconnection, shutdown and the like, which causes the abnormal disconnection of the WebSocket connection, at this time, information that the first user exits the editing mode can be pushed to the second user of the directed acyclic graph in the read-only hash table, model data is synchronized, all WebSocket connections of the directed acyclic graph are closed, and the directed acyclic graph is set to be in an unlocked state; on the other hand, if the user corresponding to the disconnected WebSocket connection is detected to be the second user, the WebSocket connection with the second user is closed.
According to the embodiment of the disclosure, by establishing the heartbeat mechanism by adopting the WebSocket protocol, the problems that the directed acyclic graph is locked and cannot be edited subsequently due to the fact that the modeling is quitted due to abnormal conditions such as network abnormality and browser unresponsiveness after a user locks the directed acyclic graph are solved, and meanwhile, the user in a read-only mode can be helped to update the state of the synchronous model in real time.
According to the embodiment of the disclosure, through the check-in and check-out mechanism and the heartbeat mechanism, the user can model in an immersive mode without paying attention to the influence of other factors, meanwhile, the resource waste of repeated modeling is avoided, and a better modeling environment and interaction experience are provided for the user.
FIG. 7 schematically shows a block diagram of a collaborative modeling apparatus according to an embodiment of the present disclosure.
As shown in fig. 7, the collaborative modeling apparatus includes an obtaining module 710, a first executing module 720, a sending module 730, and a second executing module 740.
An obtaining module 710, configured to obtain a state of the directed acyclic graph.
A first executing module 720, configured to, in a case that the state of the directed acyclic graph is the locked state, update the model in the database in response to the model editing instruction of the first user in the editing mode.
A sending module 730, configured to push model update information to a second user in a read-only mode based on the communication connection, where the model update information includes a state of the updated model.
The second execution module 740 is configured to, in response to an unlocking instruction of the first user, set the state of the directed acyclic graph to an unlocked state, and end the modeling process of the first user.
According to the embodiment of the disclosure, under the condition that the directed acyclic graph is in a locked state, the change of the model by the first user in the editing mode is pushed to the second user in the read-only mode in real time through communication connection, so that the real-time synchronization of the model is realized, the problems of repeated execution of task tasks and untimely synchronization of the model in the collaborative modeling process are avoided, and the user experience of the modeling process is improved.
According to an embodiment of the present disclosure, the obtaining module 710 is further configured to obtain a state of the directed acyclic graph based on the dictionary table; wherein, the dictionary table includes: the identification information of the directed acyclic graph, the state of the directed acyclic graph, the identification information of the first user and the address of the first user.
According to an embodiment of the present disclosure, the collaborative modeling apparatus further includes a determination module, wherein the determination module includes a first determination unit, a second determination unit, and a third determination unit. The first determining unit is used for responding to a request of a modeling user for accessing the directed acyclic graph and acquiring the state of the directed acyclic graph based on the dictionary table; the second determining unit is used for determining the modeling user as the first user under the condition that the state of the directed acyclic graph is an unlocked state; and a third determining unit, configured to determine that the modeling user is the second user when the state of the directed acyclic graph is the locked state.
According to an embodiment of the present disclosure, the second determining unit further includes a first determining subunit, a second determining subunit, a third determining subunit, and a fourth determining subunit. The first determining subunit is used for storing the identification information of the first user and the address of the first user into the dictionary table; the second determining subunit is used for responding to a locking instruction of the first user and setting the state of the directed acyclic graph to be a locking state; the third determining subunit is used for establishing communication connection with the first user based on the duplex communication protocol; and the fourth determining subunit is used for storing the identification information of the first user, the address of the first user and the session information of the first user into the editing hash table corresponding to the directed acyclic graph.
According to an embodiment of the present disclosure, the third determining unit further includes a fifth determining subunit and a sixth determining subunit. The fifth determining subunit is configured to establish a communication connection with the second user based on a duplex communication protocol; and a sixth determining subunit, configured to store the identification information of the second user, the address of the second user, and session information of the second user in the read-only hash table corresponding to the directed acyclic graph.
According to the embodiment of the disclosure, the collaborative modeling apparatus further includes a determination module, wherein the determination module includes a first determination unit and a second determination unit. The first judging unit is used for determining a user corresponding to the disconnected communication connection based on the session information under the condition that the disconnection of the communication connection is detected; and a second judgment unit, configured to set the state of the directed acyclic graph to an unlocked state when the user corresponding to the disconnected communication connection is the first user.
According to an embodiment of the present disclosure, the model editing instruction includes a save model instruction, an operate operator instruction, and a stop operator instruction; the first execution module 720 is further configured to replace the model in the database with the model edited by the first user in a case where any one of the save model instruction, the run operator instruction, and the stop operator instruction of the first user is received.
According to an embodiment of the present disclosure, the collaborative modeling apparatus further includes a third execution module. And the third execution module is used for disconnecting the communication connection with the first user and the second user.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
It should be noted that the collaborative modeling method and apparatus provided by the embodiments of the present disclosure may be used in the field of computer technology or financial field, and may also be used in any other fields, such as the field of intelligent office. The application field of the collaborative modeling method and device provided by the embodiment of the disclosure is not limited.
FIG. 8 schematically shows a block diagram of an electronic device adapted to implement a collaborative modeling method according to an embodiment of the present disclosure. The electronic device shown in fig. 8 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 8, an electronic device 800 according to an embodiment of the present disclosure includes a processor 801 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. The processor 801 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 801 may also include onboard memory for caching purposes. The processor 801 may include a single processing unit or multiple processing units for performing different actions of the method flows according to embodiments of the present disclosure.
In the RAM 803, various programs and data necessary for the operation of the electronic apparatus 800 are stored. The processor 801, the ROM 802, and the RAM 803 are connected to each other by a bus 804. The processor 801 performs various operations of the method flows according to the embodiments of the present disclosure by executing programs in the ROM 802 and/or RAM 803. Note that the programs may also be stored in one or more memories other than the ROM 802 and RAM 803. The processor 801 may also perform various operations of method flows according to embodiments of the present disclosure by executing programs stored in the one or more memories.
According to embodiments of the present disclosure, method flows according to embodiments of the present disclosure may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable storage medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 809 and/or installed from the removable medium 811. The computer program, when executed by the processor 801, performs the above-described functions defined in the system of the embodiments of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples may include, but are not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
For example, according to embodiments of the present disclosure, a computer-readable storage medium may include the ROM 802 and/or RAM 803 described above and/or one or more memories other than the ROM 802 and RAM 803.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the method provided by the embodiments of the present disclosure, when the computer program product is run on an electronic device, the program code being adapted to cause the electronic device to implement the collaborative modeling method provided by the embodiments of the present disclosure.
The computer program, when executed by the processor 801, performs the above-described functions defined in the system/apparatus of the embodiments of the present disclosure. The systems, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In one embodiment, the computer program may be hosted on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted in the form of a signal on a network medium, distributed, downloaded and installed via communication section 809, and/or installed from removable media 811. The computer program containing program code may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In accordance with embodiments of the present disclosure, program code for executing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, these computer programs may be implemented using high level procedural and/or object oriented programming languages, and/or assembly/machine languages. The programming language includes, but is not limited to, programming languages such as Java, C + +, python, the "C" language, or the like. The program code may execute entirely on the user computing device, partly on the user device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.
Claims (13)
1. A collaborative modeling method, comprising:
acquiring the state of a directed acyclic graph;
under the condition that the state of the directed acyclic graph is a locked state, responding to a model editing instruction of a first user in an editing mode, and updating a model in a database;
pushing model update information to a second user in a read-only mode based on a communication connection, wherein the model update information includes a state of an updated model; and
and responding to an unlocking instruction of the first user, setting the state of the directed acyclic graph to be an unlocked state, and ending the modeling process of the first user.
2. The method of claim 1, wherein the obtaining the state of the directed acyclic graph comprises:
acquiring the state of the directed acyclic graph based on the dictionary table;
wherein the dictionary table includes: the identification information of the directed acyclic graph, the state of the directed acyclic graph, the identification information of the first user and the address of the first user.
3. The method of claim 1, further comprising:
responding to a request of a modeling user for accessing the directed acyclic graph, and acquiring the state of the directed acyclic graph based on a dictionary table;
determining the modeling user as the first user when the state of the directed acyclic graph is an unlocked state; and
and under the condition that the state of the directed acyclic graph is a locking state, determining the modeling user as the second user.
4. The method of claim 3, wherein after determining that the modeled user is the first user, further comprising:
storing the identification information of the first user and the address of the first user into the dictionary table;
setting the state of the directed acyclic graph to a locking state in response to a locking instruction of the first user;
establishing a communication connection with the first user based on a duplex communication protocol; and
and storing the identification information of the first user, the address of the first user and the session information of the first user into an editing hash table corresponding to the directed acyclic graph.
5. The method of claim 3, wherein after determining that the modeled user is the second user, further comprising:
establishing a communication connection with the second user based on a duplex communication protocol; and
and storing the identification information of the second user, the address of the second user and the session information of the second user into a read-only hash table corresponding to the directed acyclic graph.
6. The method of claim 4 or 5, further comprising:
determining a user corresponding to the disconnected communication connection based on the session information when the disconnection of the communication connection is detected; and
and setting the state of the directed acyclic graph to be an unlocked state when the user corresponding to the disconnected communication connection is the first user.
7. The method of claim 1, wherein the model editing instructions comprise a save model instruction, a run operator instruction, and a stop operator instruction;
the updating the state of the model in the database in response to the model editing instruction of the first user in the editing mode comprises:
and under the condition of receiving any one instruction of a model saving instruction, an operator operating instruction and an operator stopping instruction of the first user, replacing the model in the database by using the model edited by the first user.
8. The method of claim 7, further comprising:
and when the state of the directed acyclic graph is a locked state, not responding to the locking instruction, the model editing instruction and the unlocking instruction of the second user.
9. The method of claim 1, wherein after placing the state of the directed acyclic graph into an unlocked state, further comprising:
disconnecting communication with the first user and the second user.
10. A collaborative modeling apparatus comprising:
the acquisition module is used for acquiring the state of the directed acyclic graph;
the first execution module is used for responding to a model editing instruction of a first user in an editing mode and updating the model in the database under the condition that the state of the directed acyclic graph is a locking state;
a sending module, configured to push model update information to a second user in a read-only mode based on a communication connection, where the model update information includes a state of an updated model; and
and the second execution module is used for responding to an unlocking instruction of the first user, setting the state of the directed acyclic graph to be an unlocked state, and ending the modeling process of the first user.
11. An electronic device, comprising:
one or more processors;
a memory to store one or more instructions that,
wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-9.
12. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to carry out the method of any one of claims 1 to 9.
13. A computer program product comprising computer executable instructions for implementing the method of any one of claims 1 to 9 when executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110427487.1A CN113051062A (en) | 2021-04-20 | 2021-04-20 | Collaborative modeling method, device, electronic equipment and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110427487.1A CN113051062A (en) | 2021-04-20 | 2021-04-20 | Collaborative modeling method, device, electronic equipment and medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113051062A true CN113051062A (en) | 2021-06-29 |
Family
ID=76519873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110427487.1A Pending CN113051062A (en) | 2021-04-20 | 2021-04-20 | Collaborative modeling method, device, electronic equipment and medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051062A (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180219923A1 (en) * | 2017-01-31 | 2018-08-02 | Box, Inc. | Collaborative cloud-based document editing from a browser-enabled platform native application |
CN109299046A (en) * | 2018-08-30 | 2019-02-01 | 湖北工业大学 | A kind of synergic editing method based on TCP WebSocket agreement |
CN110213335A (en) * | 2019-05-06 | 2019-09-06 | 上海一者信息科技有限公司 | A kind of supplementary translation first-grade translator synchronization system and implementation method based on browser |
CN110442334A (en) * | 2019-07-15 | 2019-11-12 | 北京飞利信电子技术有限公司 | A kind of multi-person synergy graphic configuration method, electronic equipment and server |
CN111831260A (en) * | 2020-07-13 | 2020-10-27 | 重庆大学 | Data synchronization method, system and related device based on web modeling |
-
2021
- 2021-04-20 CN CN202110427487.1A patent/CN113051062A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180219923A1 (en) * | 2017-01-31 | 2018-08-02 | Box, Inc. | Collaborative cloud-based document editing from a browser-enabled platform native application |
CN109299046A (en) * | 2018-08-30 | 2019-02-01 | 湖北工业大学 | A kind of synergic editing method based on TCP WebSocket agreement |
CN110213335A (en) * | 2019-05-06 | 2019-09-06 | 上海一者信息科技有限公司 | A kind of supplementary translation first-grade translator synchronization system and implementation method based on browser |
CN110442334A (en) * | 2019-07-15 | 2019-11-12 | 北京飞利信电子技术有限公司 | A kind of multi-person synergy graphic configuration method, electronic equipment and server |
CN111831260A (en) * | 2020-07-13 | 2020-10-27 | 重庆大学 | Data synchronization method, system and related device based on web modeling |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728168B2 (en) | Method for providing a connection of a client to an unmanaged service in a client-server remote access system | |
US8819560B2 (en) | Dispatching events to multiple browser windows/tabs using a single connection | |
US20180293066A1 (en) | Updating and rolling back known good states of information handling systems | |
US20130226872A1 (en) | On-demand file synchronization | |
CN112448858B (en) | Network communication control method and device, electronic equipment and readable storage medium | |
US10936591B2 (en) | Idempotent command execution | |
CN103067230A (en) | Method for achieving hyper text transport protocol (http) service monitoring through embedding monitoring code | |
CN109783151B (en) | Method and device for rule change | |
US20190258534A1 (en) | Message oriented middleware with integrated rules engine | |
US20170017677A1 (en) | Application event bridge | |
CN112860343B (en) | Configuration changing method, system, device, electronic equipment and storage medium | |
US20140258250A1 (en) | Flexible Control Framework Featuring Standalone Rule Engine | |
US9742884B2 (en) | Retry mechanism for data loading from on-premise datasource to cloud | |
US10824461B2 (en) | Distributed persistent virtual machine pooling service | |
US20130124971A1 (en) | Real time web script refresh using asynchronous polling without full web page reload | |
US11330053B1 (en) | Making eventual consistency cache updates deterministic | |
US11496443B2 (en) | Middleware to enable end-to-end processes with limited network communication | |
US20160041898A1 (en) | Generation of automated unit tests for a controller layer system and method | |
CN111373377B (en) | Method and system for error handling between a requester and a provider | |
CN113051062A (en) | Collaborative modeling method, device, electronic equipment and medium | |
CN115934378A (en) | Service data processing method and device, electronic equipment and storage medium | |
CN113204460A (en) | U shield testing method, device, equipment and medium | |
CN113204459A (en) | U shield testing method, device, equipment and medium | |
US10296425B2 (en) | Optimizing data processing across server clusters and data centers using checkpoint-based data replication | |
US20220382825A1 (en) | Method and system for web page co-browsing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |