Client collaboration method and system during online updating of marketing components

By converting marketing components into JSON strings and writing atomic operation sequences and conflict domain IDs into them, and using OT algorithms to automatically resolve conflicts, the conflict problem in the collaboration of structured and unstructured data in marketing activities is solved, which improves collaboration efficiency and reduces costs.

CN115048120BActive Publication Date: 2025-10-03HANGZHOU HUMPBACK WHALE TECHNOLOGY CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210574315.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-24
Publication Date
2025-10-03
Estimated Expiration
2042-05-24

AI Technical Summary

Technical Problem

In the existing technology, the conflict resolution process of structured and unstructured data in marketing activities relies on manual intervention, resulting in high cost and low efficiency.

Method used

Convert marketing components into JSON strings, write atomic operation sequence strings and conflict domain IDs into each string, use OT algorithms to automatically resolve conflicts, and implement client collaboration through Serverless containers and component servers.

Benefits of technology

It achieves automated resolution of editing conflicts in marketing components, reduces manual intervention, improves collaboration efficiency, and reduces the time and cost of conflict resolution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115048120B_ABST
    Figure CN115048120B_ABST
Patent Text Reader

Abstract

This application relates to a client collaboration method and system for online updates of marketing components. Each marketing component is first converted into a JSON string, and then at least one atomic operation sequence string and a collision domain ID are written into each JSON string. The concept of a collision domain is defined to automate and eliminate the need for human intervention when different clients edit the same content area in the same marketing component. Furthermore, all complex modification operations performed by the client can be broken down into distinct atomic operation sequence strings. This simple principle avoids placing a significant computational burden on subsequent over-the-air (OT) algorithms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data processing and management, and in particular to a client collaboration method during an online update process of a marketing component. Background Art

[0002] A complete marketing campaign, from planning to implementation to review, involves collaboration among several users. The collaboration process not only uses structured data such as transaction orders and user information, but also unstructured data such as documents, tables, images, videos, and activity processes.

[0003] Existing storage solutions for structured data and unstructured data generally store and manage structured data and unstructured data separately.

[0004] Specifically, existing technologies typically model and store structured data in data warehouses. Data analysts then perform data mining using SQL statements and present the analysis results using independent BI tools. Unstructured data, on the other hand, is stored in DAM (Digital Asset Management System). This creates collaboration challenges. For example, changes to content require offline synchronization with relevant personnel. Multiple edits and synchronizations can lead to version errors, which is time-consuming and labor-intensive.

[0005] Traditional solutions generally use online documents combined with locking technology to solve the problem of difficult collaboration. The general practice is to create an online document, write structured data and unstructured data into the online document, and then before editing the online document, the user client first synchronizes the latest data from the cloud server, and then sends a lock request to the cloud server to lock the online document, preventing other users from editing it. After the user client completes editing, the cloud server updates the online document edited by the user client.

[0006] For example, client A finishes editing an online document at 12:10 PM and sends a lock request to the cloud server. Client B then sends another lock request to the cloud server at 12:11 PM. Since the cloud server receives client A's lock request before client B's, it accepts client A's lock request, locks the document, and rejects client B's lock request. After client A finishes editing the online document, the cloud server updates the document with client A's edits. The cloud server then returns a submission rejection message to client B and indicates a conflict. Staff then manually resolve the conflict.

[0007] It can be seen that the traditional solution of using online documents combined with locking technology to solve collaboration difficulties has a serious flaw, that is, it can only prompt that a conflict has occurred, and subsequent staff need to manually resolve the conflict. It cannot automatically resolve the conflict, which is costly and time-consuming, affecting collaboration efficiency. Summary of the Invention

[0008] Based on this, it is necessary to use online documents combined with locking technology to solve the problem of collaboration difficulties. The traditional solution requires subsequent staff to manually resolve conflicts and cannot automatically resolve conflicts, resulting in high costs and a serious time-consuming conflict resolution process, which affects collaboration efficiency. A client collaboration method is provided during the online update of marketing components.

[0009] This application provides a client collaboration method during an online update of a marketing component, the method comprising:

[0010] Obtain at least one marketing component in the marketing component file package from the component server, convert each marketing component into a JSON string and store it, and define the JSON string as a raw JSON string;

[0011] Writing at least one atomic operation sequence string and a collision domain ID into each original JSON string to generate at least one collision domain in each marketing component;

[0012] Send all original JSON strings to each client synchronously;

[0013] Determine whether there are multiple different clients whose modified content is located in the same conflict domain within a preset time period;

[0014] If there are multiple different clients whose modified content is in the same collision domain within a preset time period, then obtain the atomic operation sequence string in the json string sent by each of the multiple different clients whose modified content is in the same collision domain;

[0015] Based on the atomic operation sequence string in the JSON string sent by each client from multiple different clients whose modified content is in the same conflict domain, the OT algorithm is used to generate a unique JSON string after conflict resolution, and the unique JSON string after conflict resolution is synchronously sent to each client;

[0016] The unique json string after conflict processing is stored and the original json string is replaced, and the determination is returned as to whether there are multiple different clients whose modified content is located in the same conflict domain within a preset time period.

[0017] This application also provides a client collaboration system during the online update process of a marketing component, including:

[0018] Multiple clients;

[0019] The serverless container communicates with each client and is used to execute the client collaboration method during the online update of the marketing component mentioned above;

[0020] The component server is connected to the serverless container.

[0021] This application relates to a client collaboration method and system for online updates of marketing components. Each marketing component is first converted into a JSON string, and then at least one atomic operation sequence string and a collision domain ID are written into each JSON string. The concept of a collision domain is defined to automate and eliminate the need for human intervention when different clients edit the same content area in the same marketing component. Furthermore, all complex modification operations performed by the client can be broken down into distinct atomic operation sequence strings. This simple principle avoids placing a significant computational burden on subsequent over-the-air (OT) algorithms. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 A flowchart of a client collaboration method during an online update of a marketing component provided in an embodiment of the present application.

[0023] Figure 2 This is a system structure diagram of the client collaboration system during the online update of the marketing component provided in one embodiment of the present application. DETAILED DESCRIPTION

[0024] In order to make the purpose, technical solutions and advantages of this application more clearly understood, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0025] This application provides a client collaboration method during an online update of a marketing component. It should be noted that the client collaboration method during an online update of a marketing component provided in this application is applicable to any type of marketing component.

[0026] In addition, the client collaboration method during the online update of the marketing component provided in this application does not limit its execution subject. Optionally, the execution subject of the client collaboration method during the online update of the marketing component provided in this application can be a serverless container.

[0027] like Figure 1As shown, in one embodiment of the present application, the JSON serialization method of the marketing component includes the following S100 to S700:

[0028] S100 , obtaining at least one marketing component in a marketing component file package from a component server, converting each marketing component into a JSON string and storing the converted string, defining the JSON string as a raw JSON string.

[0029] Specifically, a marketing component refers to a functional component required for use in a marketing campaign, including but not limited to one or more of a text component, a table component, an image component, a video component, a process canvas component, a data dashboard component, and an approval flow component.

[0030] A marketing component is a binary object that exists in the form of a marketing component file package. The JSON string consists of multiple key-value pairs.

[0031] S200 , writing at least one atomic operation sequence string and a collision domain ID into each original JSON string to generate at least one collision domain in each marketing component.

[0032] Specifically, all complex modification operations can be broken down into several atomic operation sequence strings. Initially, each marketing component will pre-generate at least one conflict domain. When two or more customers modify the content of marketing components in the same conflict domain, the subsequent conflict resolution process will be triggered.

[0033] S300, send all original JSON strings to each client synchronously.

[0034] Specifically, the final JSON string is sent synchronously to each client through broadcasting, with the help of microservice general tools.

[0035] S400 , determining whether there are multiple different clients whose modified content is located in the same conflict domain within a preset time period.

[0036] Specifically, the purpose of adding a preset time period is to avoid repeated and meaningless conflict determinations. For example, if two clients simultaneously request to modify the same marketing component within the same conflict domain, but the time interval between the two modification requests is relatively long, such as an hour, the Serverless container will not consider the two modifications to be conflicting. In other words, a conflict is only considered to have occurred if multiple clients simultaneously request to modify the marketing component within the same conflict domain. However, this "simultaneous" determination is based on the preset time period.

[0037] It is understandable that the shorter the preset time period is, the more sensitive the Serverless container is to conflict determination.

[0038] S500: If there are multiple different clients whose modified content is in the same collision domain within a preset time period, then obtain the atomic operation sequence string in the json string sent by each of the multiple different clients whose modified content is in the same collision domain.

[0039] Specifically, the atomic operation sequence string can express which marketing component the client has modified, and can further express which conflict domain the client has modified.

[0040] S600, based on the atomic operation sequence string in the json string sent by each client among multiple different clients whose modified content is located in the same conflict domain, uses the OT algorithm to generate a unique json string after conflict processing, and synchronously sends the unique json string after conflict processing to each client.

[0041] Specifically, the OT algorithm is conducive to the collaborative work of clients, and the setting of the operation sequence string can greatly simplify the computational complexity of the OT algorithm.

[0042] S700: Store the unique JSON string after conflict resolution and replace the original JSON string, and return to the step of determining whether there are multiple different clients whose modified content is located in the same conflict domain within a preset time period.

[0043] Specifically, the unique JSON string after conflict resolution is unique, that is, the final JSON string generated after resolving the conflict should be unique, and different clients will not generate different results after modification.

[0044] In this implementation, each marketing component is first converted into a JSON string. Then, at least one atomic operation sequence string and a collision domain ID are written into each JSON string. This defines the concept of a collision domain, enabling automated and de-mandated resolution of conflicts encountered when different clients edit the same content area within the same marketing component. Furthermore, all complex client-side modification operations can be broken down into distinct atomic operation sequence strings. This simple principle avoids placing a significant computational burden on subsequent OT algorithms.

[0045] In one embodiment of the present application, the S100 includes the following S110 to S140:

[0046] S110, obtaining a marketing component file package from a component server, and reading the framework features of the marketing component in the marketing component file package.

[0047] Specifically, the marketing component is a binary object that exists in the form of a marketing component file package. This step can read the framework features of the marketing component in the marketing component file package.

[0048] S120, analyzing the framework characteristics of the marketing component, and splitting the marketing component into multiple basic component elements based on the framework characteristics of the marketing component.

[0049] Specifically, the framework feature of the marketing component in the marketing component file package may be a marketing component type tag, which may include one or more of a process canvas tag (canvas), a table tag (sheet), a multimedia tag (media), and a data dashboard tag (analytics).

[0050] For each marketing component type tag, a mapping relationship between the marketing component type tag and the basic component element can be pre-established in the serverless container. This allows the serverless container to automatically split the marketing component into multiple basic component elements in S200 when it reads the framework features of the marketing component in the marketing component file package (i.e., when it reads the marketing component type tag in the marketing component file package).

[0051] For example, if the marketing component type tag is read as a process canvas tag (canvas), it indicates that the marketing component is a process canvas component and is subsequently split into two basic component elements: nodes and edges. If the impact component type tag is read as a table tag (sheet), it indicates that the marketing component is a table component and is subsequently split into two basic component elements: rows and columns.

[0052] S130: Convert each basic component element into a key-value pair, and define the key-value pair as a basic component element key-value pair.

[0053] Specifically, a key-value pair includes a key and a value.

[0054] For example, the basic component element nodes is converted into a key-value pair and represented as "nodes":[......], and the basic component element edges is converted into a key-value pair and represented as "edges":[......].

[0055] S140, creating a json string, writing basic component element key-value pairs of different basic component elements into the json string, and defining the json string as an original json string.

[0056] Specifically, when the marketing component is a process canvas component, the process canvas component can be represented by a JSON string in the following format:

[0057]

[0058]

[0059] The ellipsis is the specific content under nodes and edges.

[0060] Taking the process canvas component as an example, the original JSON string of the process canvas component can be as follows:

[0061]

[0062]

[0063]

[0064]

[0065]

[0066]

[0067] Based on the generated JSON string above, you can understand that the process canvas component is divided into two basic component elements: nodes and edges. Each basic component element contains at least one child element. Continuing with the above example, the basic component element nodes contains four child elements: startNode, branchNode, actionNode, and endNode. The basic component element edges contains two child elements: normalEdge and branchEdge.

[0068] Optionally, when generating a collision domain, a collision domain is generated under each child element. Then, when executing S200 , at least one atomic operation sequence string and collision domain ID are written into each child element to generate at least one collision domain in each marketing component. Again, using the JSON string converted from the process canvas component as an example, we can see that:

[0069]

[0070] This string is the string of the "actionNode" child element. It contains a lot of content that can be modified, such as Name and Count in properties. The client can adjust the probability of winning the lottery by modifying Name, and adjust the total number of winning prizes by modifying Count.

[0071] Then we set the collision domain under this sub-element by executing S200 by writing at least one atomic operation sequence string and a collision domain ID. Of course, when writing at least one atomic operation sequence string, we also need to write the collision domain ID.

[0072] After executing S200, this string becomes:

[0073]

[0074]

[0075] As you can see, this JSON string contains a new line of characters: "dominID":"003". dominID stands for collision domain ID, indicating that the collision domain ID under this sub-element is 003. Three atomic operation sequence strings have also been added: Retain("domain003",), Insert("domain003",), and Delete("domain003",). However, the specific operation content is blank because S200 only sets the collision domain and does not modify the content within the collision domain. The client will subsequently add content to the atomic operation sequence strings if it has modification requirements.

[0076] In one embodiment of the present application, when multiple conflict domains are generated in a marketing component, different conflict domains are independent of each other and their data are isolated.

[0077] Specifically, this setting can avoid unclear conflict determination. As mentioned above, when generating a conflict domain, a conflict domain is generated under each child element, so that different conflict domains are independent of each other and do not affect each other.

[0078] In one embodiment of the present application, S400 includes the following S410 to S470:

[0079] S410: Determine whether more than one marketing component modification request is received within a preset time period.

[0080] Specifically, if only one marketing component modification request is received within the preset time period, it is not considered that there is a conflict, the marketing component modification request is executed normally, and then S410 is continued to be executed to determine whether more than one marketing component modification request is received within the preset time period.

[0081] If no marketing component modification request is received within the preset time period, the process continues with S410 to determine whether more than one marketing component modification request is received within the preset time period.

[0082] S420: If more than one marketing component modification request is received within a preset time period, read the JSON string contained in each marketing component modification request to obtain multiple JSON strings.

[0083] Specifically, when each client wants to modify the content of the marketing component, it will first obtain the original JSON string of the marketing component from the local computer. The local computer has the original JSON string because it has been synchronously sent by the Serverless container in S300.

[0084] The client then modifies at least one atomic operation sequence string in the original JSON string to express the specific operation the client wants to modify. Finally, the client adds the modified JSON string (the JSON string in S420, which has a meaning) to the marketing component modification request and sends it to the Serverless container.

[0085] In this way, after the Serverless container executes S420, it can read the JSON string sent by each client. The modification of the yard operation sequence string of each JSON string is different because the modifications made by different clients are different.

[0086] S430: Parse each JSON string and obtain the marketing component ID in each JSON string.

[0087] Specifically, this step first needs to determine whether the modification requests from different clients are for the same marketing component, so the marketing component ID needs to be obtained.

[0088] S440 , comparing the marketing component ID in each json string to determine whether there are multiple json strings with the same marketing component ID.

[0089] Specifically, for example, if the marketing component ID sent by client A to the Serverless container is canvas, and the marketing component ID sent by client B to the Serverless container is sheet, then the two are inconsistent, indicating that client A wants to modify the process canvas component, and client B wants to modify the table component. The marketing components they want to modify are different. Of course, it is determined that there are no multiple JSON strings with the same marketing component ID, and no conflict exists. The subsequent steps are interrupted and the process returns to S410.

[0090] S450: If there are multiple JSON strings with the same marketing component ID, further read the atomic operation sequence string of each JSON string in the multiple JSON strings with the same marketing component ID.

[0091] Specifically, for example, if the marketing component ID sent by client A to the Serverless container is canvas, and the marketing component ID sent by client B to the Serverless container is also canvas, then it indicates that the modified marketing components are the same, and further determination is needed to determine whether they are in the same conflict domain.

[0092] S460, judging whether the modified contents of the multiple JSON strings with the same marketing component ID are located in the same conflict domain based on the atomic operation sequence string of each JSON string in the multiple JSON strings with the same marketing component ID.

[0093] Specifically, in this embodiment, whether or not the content is in the same collision domain needs to be determined by an atomic operation sequence string. Therefore, what content the client has modified is displayed by the atomic operation sequence string.

[0094] S470: If the modified contents of multiple JSON strings with the same marketing component ID are located in the same conflict domain, it is determined that there are multiple different clients whose modified contents are located in the same conflict domain within a preset time period.

[0095] Specifically, for example, if client A and client B simultaneously modify the prize configuration for the lucky draw activity in the conflicting domain domain002 in the process canvas component, the Serverless container will first obtain the marketing component ID in the JSON string sent by client A and client B respectively, and determine whether the IDs of the marketing components modified by the two clients are the same.

[0096] For example, if the marketing component ID in the JSON string sent by client A and client B is both canvas, the marketing component ID canvas refers to the process canvas component. If so, it indicates that the two clients modified the same marketing component, both of which are process canvas components, and then S450 is executed.

[0097] In S450-S470, whether the subsequent conflict domains are consistent is determined based on the content in the atomic operation sequence character string.

[0098] In an embodiment of the present application, the preset time period is a time interval greater than or equal to 20 seconds and less than or equal to 30 seconds.

[0099] Specifically, the preset time period can be freely set and is not limited to a time interval greater than or equal to 20 seconds and less than or equal to 30 seconds.

[0100] In one embodiment of the present application, the S460 includes the following S461 to S462:

[0101] S461, read the collision domain ID in the atomic operation sequence string of each JSON string in multiple JSON strings with the same marketing component ID, and determine whether the collision domain IDs are the same.

[0102] S462: If the conflict domain IDs are the same, it is determined that the modified contents of multiple JSON strings with the same marketing component ID are located in the same conflict domain.

[0103] Specifically, the conflict domain ID is denoted as domainID. If the domainID is the same, it indicates that both clients are modifying not only the same marketing component but also the same region, which has been defined as a conflict domain. Continuing with the above example, if client A and client B simultaneously modify the prize configuration for the lucky draw event in the conflict domain domain002 of the process canvas component, then the domainID in their atomic operation sequence strings must be the same.

[0104] In one embodiment of the present application, the atomic operation sequence string includes one or more of a Retain atomic operation sequence string, an Insert atomic operation sequence string, and a Delete atomic operation sequence string.

[0105] The Retain atomic operation sequence string is used to define the pointer position in the original JSON string.

[0106] The Insert atomic operation sequence string is used to insert new string content at the position of the pointer in the original JSON string.

[0107] The Delete atomic operation sequence string is used to delete all string contents after the pointer position in the original json string.

[0108] Specifically, the form of the Retain atomic operation sequence string can be: Retain("domainID", "Num"). Retain refers to the atomic operation type of retention. domainID is the conflict domain ID. Num is the number of characters for pointer movement. When the pointer moves, there is an optional solution. Starting from the first character of the entire json string, Num directly calculates the number of subsequent characters to be moved. For example, to modify the character content of "Name": "Draw the doll 10%", the pointer needs to be positioned at the letter e. Then when the client modifies the Retain atomic operation sequence string, it will calculate the number of characters from the first character of the entire json string to the letter e of Name, and define the obtained character quantity as the value of Num.

[0109] The form of the Insert atomic operation sequence string can be: Insert("domainID", "String1"). Insert refers to the atomic operation type of addition. domainID is the conflict domain ID. String1 refers to the string content to be inserted.

[0110] For example, to modify the character content of "Name": "Draw the doll 10%", then String1 is "Draw the doll 20%".

[0111] The form of the Delete atomic operation sequence string can be: Delete("domainID", "String2"). Delete refers to the atomic operation type of deletion. domainID is the conflict domain ID. String2 refers to the string content to be deleted.

[0112] For example, to modify the character content of "Name": "Draw the doll 10%", then String2 is "Draw the doll 10%".

[0113] It should be noted that if the Retain atomic operation sequence string, Insert atomic operation sequence string, and Delete atomic operation sequence string appear simultaneously, the writing order within the conflict domain should be that the Retain atomic operation sequence string comes first, the Insert atomic operation sequence string is in the middle, and the Delete atomic operation sequence string is at the end. This is because in the modification, the pointer must be positioned first, then the content is deleted, and finally the content is added.

[0114] [[ID=ID=18]]In an embodiment of the present application, the S600 includes the following S610 to S660:

[0115] S610, retrieve the original json string.

[0116] Specifically, this embodiment is a step of performing a modification operation on the original JSON string after conflict resolution.

[0117] S620: Select a client from multiple different clients located in the same collision domain.

[0118] S630, reading the atomic operation sequence string in the json string sent by the client, modifying the original json string according to the atomic operation sequence string, and generating a modified json string of the client.

[0119] Specifically, the atomic operation sequence string in the JSON data string generated by each client and sent to the Serverless container provides the basis for modification.

[0120] S640, returning to S620, until a modified JSON string is generated for each client.

[0121] Specifically, this step is the process of modifying the original JSON string based on each client's modification request.

[0122] S650: Based on the modified JSON string of each client, a unique JSON string after conflict resolution is generated using the OT algorithm.

[0123] Specifically, the JSON string after conflict resolution is unique, taking into account the modification tendencies of different clients. There are many specific OT algorithm strategies, which are not the focus of protection in this application.

[0124] For example, a common OT algorithm strategy is to prioritize the client that first sends a modification request to the serverless container, giving it a greater weight on the unique JSON string. The "first" here refers to the time.

[0125] S660: synchronously send the unique JSON string after conflict resolution to each client.

[0126] In one embodiment of the present application, the S630 includes the following S631 to S636:

[0127] S631, determine whether the json string sent by the client contains the Retain atomic operation sequence string.

[0128] S632: If the json string sent by the client contains a retain atomic operation sequence string, read Num characters in the retain atomic operation sequence string, move the pointer Num characters from the initial character in the original json string, and define the character position where the pointer stops after the movement as the position of the pointer.

[0129] S633: Determine whether the json string sent by the client contains an Insert atomic operation sequence string.

[0130] S634, if the json string sent by the client contains an insert atomic operation sequence string, read the character content to be added in the insert atomic operation sequence string, and insert the character content to be added at the position of the pointer in the original json string.

[0131] S635: Determine whether the json string sent by the client contains a Delete atomic operation sequence string.

[0132] S636: If the json string sent by the client contains a Delete atomic operation sequence string, the character content to be deleted in the Insert atomic operation sequence string is read, and the character content to be deleted is deleted after the position of the pointer in the original json string.

[0133] Specifically, for example, client A and client B simultaneously modify the prize configuration of the lucky draw activity in the conflicting domain domain002 of the process canvas component. The original JSON string is:

[0134]

[0135] It can be understood that the original lottery plan of the marketing component is: the number of prizes for the lottery dolls is set to 100, and the winning rate is set to 10%.

[0136] The json string of client A contains three atomic operation sequence strings, namely:

[0137] 1.Retain(domain002,x).

[0138] 2.Insert(domain002,100).

[0139] 3.Delete(domain002,150).

[0140] Here, Num in 1. is expressed as x because it is unimportant data. It can be understood that user A changes the number of prizes for the raffle to 150.

[0141] The json string of client B contains three atomic operation sequence strings, namely:

[0142] 1.Retain(domain002,y).

[0143] 2.Insert(domain002,10%).

[0144] 3.Delete(domain002,20%).

[0145] Here, Num in 1. is expressed as y because it is unimportant data. It can be understood that user B changes the winning rate of the doll drawing to 20%.

[0146] The unique JSON string obtained by the OT algorithm after conflict resolution is:

[0147]

[0148]

[0149] It can be understood that both solutions are covered in the unique JSON string after conflict resolution.

[0150] The application also provides a client collaboration system during the online update process of the marketing component.

[0151] like Figure 2 As shown, in one embodiment of the present application, the client collaboration system during the online update process of the marketing component includes multiple clients 100, serverless containers 200 and component servers 300.

[0152] The serverless container 200 is connected to each client 100. The serverless container 200 is used to execute the client collaboration method during the online update of the marketing component as mentioned above. The component server 300 is connected to the serverless container 200.

[0153] Specifically, it should be noted that for the sake of simplicity, all devices or modules are only labeled in the embodiment of the client's collaborative system during the online update of marketing components, and are no longer labeled in the aforementioned embodiment of the client's collaborative method during the online update of marketing components.

[0154] The serverless container 200 includes a JSON serialization module, a microservice module, a monitoring module, a log module, and an elastic expansion module.

[0155] The JSON serialization module is used to execute the JSON serialization method of the marketing component mentioned above.

[0156] The microservice module is used to call the microservice general tool to synchronize the json string to each client through the microservice general tool

[0157] The monitoring module, namely Component Monitoring, can monitor the status of components.

[0158] The logging module, namely Component logging, is used to record logs.

[0159] The elastic expansion module is used to flexibly expand or contract resources occupied by marketing activities.

[0160] The various technical features of the above-described embodiments can be combined arbitrarily, and the execution order of the method steps is not restricted. In order to make the description concise, not all possible combinations of the various technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0161] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A client collaboration method during online updating of a marketing component, characterized in that: The method comprises: Obtain at least one marketing component in the marketing component file package from the component server, convert each marketing component into a JSON string and store it, and define the JSON string as a raw JSON string; Writing at least one atomic operation sequence string and a collision domain ID into each original JSON string to generate at least one collision domain in each marketing component; Send all original JSON strings to each client synchronously; Determine whether there are multiple different clients whose modified content is located in the same conflict domain within a preset time period; If there are multiple different clients whose modified content is in the same collision domain within a preset time period, then obtain the atomic operation sequence string in the json string sent by each of the multiple different clients whose modified content is in the same collision domain; Based on the atomic operation sequence string in the JSON string sent by each client from multiple different clients whose modified content is in the same conflict domain, the OT algorithm is used to generate a unique JSON string after conflict resolution, and the unique JSON string after conflict resolution is synchronously sent to each client; Store the unique JSON string after conflict resolution and replace the original JSON string; Parse each JSON string and obtain the marketing component ID in each JSON string; According to the atomic operation sequence string of each JSON string in the multiple JSON strings with the same marketing component ID, determine whether the modified contents of the multiple JSON strings with the same marketing component ID are located in the same conflict domain; If the modified contents of multiple JSON strings with the same marketing component ID are located in the same conflict domain, it is determined that there are multiple different clients whose modified contents are located in the same conflict domain within a preset time period; Marketing components refer to the functional components needed in a marketing campaign. A complete marketing campaign, from planning to implementation to review, involves collaboration among several users. The collaboration process uses structured data such as transaction orders and user information, as well as unstructured data such as documents, tables, images, videos, and campaign processes.

2. The client collaboration method during the online update of the marketing component according to claim 1, characterized in that: The method obtains at least one marketing component in the marketing component file package from the component server, converts each marketing component into a JSON string and stores it, and defines the JSON string as a raw JSON string, including: Obtain the marketing component file package from the component server and read the framework features of the marketing component in the marketing component file package; Analyze the framework characteristics of the marketing component and split the marketing component into multiple basic component elements based on the framework characteristics of the marketing component; Convert each basic component element into a key-value pair, define the key-value pair as a basic component element key-value pair; create a json string, write the basic component element key-value pairs of different basic component elements into the json string, and define the json string as an original json string.

3. The client collaboration method during the online update of the marketing component according to claim 2, characterized in that: When multiple conflict domains are generated in a marketing component, different conflict domains are independent of each other and their data is isolated.

4. The client collaboration method during the online update of the marketing component according to claim 3, characterized in that: The determining whether there are multiple different clients whose modified content is located in the same conflict domain within a preset time period includes: Determining whether more than one marketing component modification request is received within a preset time period; If more than one marketing component modification request is received within a preset time period, the json string contained in each marketing component modification request is read to obtain multiple json strings; Compare the marketing component ID in each JSON string to determine whether there are multiple JSON strings with the same marketing component ID; If there are multiple JSON strings with the same marketing component ID, the atomic operation sequence string of each JSON string in the multiple JSON strings with the same marketing component ID is further read.

5. The client collaboration method during the online update of the marketing component according to claim 4, characterized in that: The preset time period is a time interval greater than or equal to 20 seconds and less than or equal to 30 seconds.

6. The client collaboration method during the online update of the marketing component according to claim 5, characterized in that: The determining whether the modified contents of the multiple JSON strings with the same marketing component ID are located in the same conflict domain based on the atomic operation sequence string of each JSON string in the multiple JSON strings with the same marketing component ID includes: Read the collision domain ID in the atomic operation sequence string of each of the multiple JSON strings with the same marketing component ID, and determine whether the collision domain IDs are the same; If the conflict domain IDs are the same, it is determined that the modified contents of multiple JSON strings with the same marketing component ID are located in the same conflict domain.

7. The client collaboration method during the online update of the marketing component according to claim 6, characterized in that: The atomic operation sequence string includes one or more of a Retain atomic operation sequence string, an Insert atomic operation sequence string, and a Delete atomic operation sequence string; The retain atomic operation sequence string is used to define the position of the pointer in the original json string; The Insert atomic operation sequence string is used to insert new string content at the position of the pointer in the original json string; The Delete atomic operation sequence string is used to delete all string contents after the pointer position in the original json string.

8. The client collaboration method during the online update of the marketing component according to claim 7, characterized in that: The method comprises: generating a unique JSON string after conflict resolution by using an OT algorithm based on an atomic operation sequence string in a JSON string sent by each of multiple different clients whose modified content is located in the same conflict domain; and synchronously sending the unique JSON string after conflict resolution to each client, including: Retrieve the original json string; Select one client from among multiple different clients in the same collision domain; Read the atomic operation sequence string in the JSON string sent by the client, modify the original JSON string according to the atomic operation sequence string, and generate the modified JSON string of the client; Returning one of the multiple different clients located in the same conflict domain until a modified JSON string is generated for each client; Based on the modified JSON string of each client, use the OT algorithm to generate a unique JSON string after conflict resolution; The unique JSON string after conflict resolution is sent synchronously to each client.

9. The client collaboration method during the online update of the marketing component according to claim 8, characterized in that: The step of reading the atomic operation sequence string in the JSON string sent by the client, modifying the original JSON string according to the atomic operation sequence string, and generating the modified JSON string of the client includes: Determine whether the json string sent by the client contains the Retain atomic operation sequence string; If the json string sent by the client contains a retain atomic operation sequence string, read Num characters in the retain atomic operation sequence string, move the pointer Num characters from the initial character in the original json string, and define the character position after the movement as the pointer position; Determine whether the json string sent by the client contains the Insert atomic operation sequence string; If the json string sent by the client contains the insert atomic operation sequence string, the character content to be added in the insert atomic operation sequence string is read and the character content to be added is inserted at the position of the pointer in the original json string; Determine whether the json string sent by the client contains the Delete atomic operation sequence string; If the json string sent by the client contains a delete atomic operation sequence string, the character content to be deleted in the insert atomic operation sequence string is read, and the character content to be deleted is deleted after the position of the pointer in the original json string.

10. A client collaboration system during the online update process of a marketing component, characterized in that: include: Multiple clients; A serverless container, communicating with each client, for executing the client collaboration method during the online update of the marketing component according to any one of claims 1 to 9; The component server is connected to the serverless container.

Citation Information

Patent Citations

  • Collaborative operation processing method and device, equipment and medium

    CN113312885A

  • Dynamic page generation system and method

    CN114327384A

  • System and method for synchronizing collaborative form filling

    US20120089659A1