CN115048120A - Method and system for collaboration of client in online updating process of marketing component - Google Patents

Method and system for collaboration of client in online updating process of marketing component Download PDF

Info

Publication number
CN115048120A
CN115048120A CN202210574315.1A CN202210574315A CN115048120A CN 115048120 A CN115048120 A CN 115048120A CN 202210574315 A CN202210574315 A CN 202210574315A CN 115048120 A CN115048120 A CN 115048120A
Authority
CN
China
Prior art keywords
character string
json
string
client
marketing
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
Application number
CN202210574315.1A
Other languages
Chinese (zh)
Inventor
叶生晅
刘佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Humpback Technology Co ltd
Original Assignee
Hangzhou Humpback Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Humpback Technology Co ltd filed Critical Hangzhou Humpback Technology Co ltd
Priority to CN202210574315.1A priority Critical patent/CN115048120A/en
Publication of CN115048120A publication Critical patent/CN115048120A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The application relates to a method and a system for client cooperation in the online updating process of marketing components. In addition, all complex modification operations executed by the client can be disassembled into different atomic operation sequence character strings, the principle is simple, and great computational burden on the subsequent OT algorithm is avoided.

Description

Method and system for collaboration of client in online updating process of marketing component
Technical Field
The application relates to the technical field of data processing and management, in particular to a collaboration method of a client in an online updating process of a marketing component.
Background
A complete marketing campaign relates to the collaboration among a plurality of users from campaign planning, floor execution to rerun, and not only uses structured data such as transaction orders and user information, but also unstructured data such as documents, tables, pictures, videos and activity flows in the collaboration process.
The existing storage schemes for structured data and unstructured data generally store and manage the structured data and the unstructured data respectively.
Specifically, in the prior art, structured data modeling is generally stored in a data warehouse, and after a data analyst mines through SQL statements, the analysis results are displayed by using an independent BI tool. Unstructured data are stored in a DAM (digital asset management system), and the unstructured data have the problem of difficult collaboration, for example, after content is changed, the content needs to be synchronized to relevant people offline, and after multiple editions, the content needs to be synchronized for multiple times, so that the problem of version errors can occur in the process, and time and labor are consumed.
The traditional scheme generally solves the problem of difficult collaboration by combining online documents with a locking technology, and generally comprises the steps of creating the online documents, writing structured data and unstructured data into the online documents, synchronizing the latest data of a cloud server before the online documents are edited by a user side, sending a locking request to the cloud server, locking the online documents, not allowing other user sides to edit, and updating the online documents edited by the user side by the cloud server after the user sides finish editing.
For example, the client a edits the online document in 10 minutes at 12 hours, and sends a locking request to the cloud server, the client B sends a locking request to the cloud server at 12 hours and 11 hours, and the cloud server receives the locking request of the client a first and then receives the locking request of the client B, so that the locking request of the client a is received, the online document is locked, and the locking request of the client B is rejected. After the user side A finishes editing the online document, the cloud server updates the online document edited by the user side A. The cloud server returns a message of submitting rejection of the user side B and prompts that a conflict is generated. And the subsequent staff solves the conflict in a manual solving mode.
It can be seen that, the method for solving the difficult collaboration by using the online document and the locking technology in the conventional scheme has a serious defect that only the conflict is generated, the conflict needs to be solved manually by the subsequent staff, the conflict cannot be solved automatically, the cost is high, time is seriously consumed in the conflict solving process, and the collaboration efficiency is influenced
Disclosure of Invention
Therefore, a collaboration method of a client in a marketing component online updating process is provided for solving the problems that a method for solving collaboration difficulty by using an online document and a locking technology in a traditional scheme needs follow-up workers to manually solve conflicts, the conflicts cannot be automatically solved, the cost is high, time consumption is serious in the conflict solving process, and collaboration efficiency is affected.
The application provides a method for collaboration of a client in an online updating process of a marketing component, which comprises the following steps:
acquiring at least one marketing component in a marketing component file package from a component server, converting each marketing component into a json character string and storing the json character string, and defining the json character string as an original json character string;
writing at least one atomic operation sequence string and a conflict domain ID in each original json string to generate at least one conflict domain in each marketing component;
synchronously sending all original json character strings to each client;
judging whether a plurality of different clients with modified contents in the same conflict domain exist in a preset time period or not;
if a plurality of different clients with modified contents located in the same conflict domain exist in a preset time period, respectively acquiring an atomic operation sequence character string in a json character string sent by each client with the modified contents located in the same conflict domain;
generating a unique json character string after collision processing by utilizing an OT algorithm according to an atomic operation sequence character string in the json character string sent by each of a plurality of different clients of which the modified content is located in the same collision domain, and synchronously sending the unique json character string after collision processing to each client;
and storing the unique json character string after the collision processing, replacing the original json character string, and returning to judge whether a plurality of different clients with modified contents in the same collision domain exist in the preset time period.
The present application further provides a collaboration system of a client in the online updating process of a marketing component, including:
a plurality of clients;
the Serverless container is in communication connection with each client and is used for executing the cooperation method of the clients in the online updating process of the marketing component mentioned in the foregoing content;
and the component server is in communication connection with the Serverless container.
The application relates to a method and a system for client cooperation in the online updating process of marketing components. In addition, all complex modification operations executed by the client can be disassembled into different atomic operation sequence character strings, the principle is simple, and great computational burden on the subsequent OT algorithm is avoided.
Drawings
Fig. 1 is a flowchart illustrating a method for client collaboration during online updating of a marketing component according to an embodiment of the present disclosure.
Fig. 2 is a system structure diagram of a collaboration system of a client during an online updating process of a marketing component according to an embodiment of the present application.
Detailed Description
For the purpose of making the present application more apparent, technical solutions and advantages thereof are described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The application provides a collaboration method of a client in a marketing component online updating process. It should be noted that the method for client-side collaboration during online updating of the marketing component provided by the application is applicable to any type of marketing component.
In addition, the cooperation method of the client in the online updating process of the marketing component provided by the application is not limited to the execution subject. Optionally, an execution subject of the collaboration method of the client in the online updating process of the marketing component provided by the present application may be a Serverless container.
As shown in fig. 1, in an embodiment of the present application, the json serialization method of the marketing component includes the following S100 to S700:
s100, obtaining at least one marketing component in the marketing component file package from the component server, converting each marketing component into a json character string and storing the json character string, and defining the json character string as an original json character string.
In particular, marketing component refers to a functional component that needs to be used in a marketing campaign, including but not limited to one or more of a text component, a form component, a picture component, a video component, a process canvas component, a data billboard component, and an approval flow component.
The marketing component is a binary object, and exists in the form of a marketing component file package. The json string is made up of a plurality of key value pairs.
And S200, writing at least one atomic operation sequence character string and a conflict domain ID in each original json character string to generate at least one conflict domain in each marketing component.
In particular, all complex modification operations can be broken down into several atomic operation sequence strings. At least one conflict domain is generated in advance for each marketing component initially, and when 2 or more than 2 customers modify the content of the marketing component in the same conflict domain, the subsequent conflict processing flow is triggered.
S300, all original json character strings are synchronously sent to each client.
Specifically, the final json character string is synchronously sent to each client in a broadcasting mode by means of a microservice general tool.
S400, judging whether a plurality of different clients with modified contents in the same conflict domain exist in a preset time period.
Specifically, the purpose of adding the preset time period is to avoid making meaningless conflict decisions repeatedly, for example, two clients successively make modification requests for modifying relevant contents of components in the same marketing component and in the same conflict domain, but if the time interval between time nodes made by two modification requests is longer, for example, one hour, the Serverless container does not consider the two modification operations as conflicting with each other. In other words, a conflict is determined to have occurred only if multiple clients propose to modify the content of the marketing component in the same conflict domain "simultaneously," but this "simultaneously" is determined over a preset time period.
It is understood that the shorter the preset time period is set, the higher the sensitivity of the Serverless container to the collision determination is.
S500, if a plurality of different clients with modified contents located in the same conflict domain exist in a preset time period, respectively acquiring an atomic operation sequence character string in a json character string sent by each client with the modified contents located in the same conflict domain.
Specifically, the atomic operation sequence string can express which marketing component is specifically modified by the client, and can further express which conflict domain is specifically modified by the client.
S600, generating a unique json character string after conflict processing by utilizing an OT algorithm according to an atomic operation sequence character string in the json character string sent by each of a plurality of different clients with modified contents in the same conflict domain, and synchronously sending the unique json character string after conflict processing to each client.
Specifically, the OT algorithm is beneficial to the cooperative work of the client, and the calculation amount of the OT algorithm can be greatly simplified by setting the operation sequence character string.
S700, storing the unique json character string after the collision processing, replacing the original json character string, and returning to judge whether a plurality of different clients with modified contents in the same collision domain exist in the preset time period.
Specifically, the unique json string after the conflict processing is unique, that is, the final json string generated after the conflict is resolved should be unique, and different results generated after different clients are modified do not occur.
In this embodiment, each marketing component is first converted into a json character string, and then at least one atomic operation sequence character string and a collision domain ID are written into each json character string, so that the concept of a collision domain is defined, and thus, collision problems encountered when different clients edit the same content area in the same marketing component can be automated and solved artificially. In addition, all complex modification operations executed by the client can be disassembled into different atomic operation sequence character strings, the principle is simple, and great computational burden on the subsequent OT algorithm is avoided.
In an embodiment of the present application, the S100 includes the following S110 to S140:
and S110, acquiring the marketing component file package from the component server, and reading the frame characteristics of the marketing components in the marketing component file package. A
Specifically, the marketing component is a binary object that exists in the form of a package of marketing component files. The method can read the frame characteristics of the marketing components in the marketing component file package.
And S120, analyzing the frame characteristics of the marketing assembly, and splitting the marketing assembly into a plurality of basic assembly elements according to the frame characteristics of the marketing assembly.
In particular, the framework features of the marketing assemblies in the package of marketing assembly files may be marketing assembly type tags. Marketing component type tags may include one or more of a process canvas tag (canvas), a form tag (sheet), a multimedia tag (media), a data billboard tag (analytics).
Each marketing component type label can establish the mapping relation between the marketing component type label and the basic component element in a Serverless container in advance. Thus, in S200, when the Serverless container reads the framework features of the marketing component in the marketing component bundle, that is, the Serverless container reads the marketing component type tag in the marketing component bundle, the marketing component can be automatically split into a plurality of basic component elements.
For example, when the marketing component type tag is read as a process canvas tag (canvas), it indicates that the marketing component is a process canvas component at this time, and the marketing component is subsequently split into two basic component elements, which are: nodes and edges. When the type label of the influence component is read as a form label (sheet), the marketing component is shown as a form component at the moment, and the marketing component is subsequently split into two basic component elements, namely: rows and columns.
S130, converting each basic component element into a key value pair, and defining the key value pair as the key value pair of the basic component element.
In particular, a key-value pair includes a "key," i.e., a key, and a "value," i.e., a value.
For example, a base component element of nodes is converted into a key-value pair and then denoted as "nodes", and a base component element of edges is converted into a key-value pair and then denoted as "edges".
And S140, creating a json character string, writing key values of basic component elements of different basic component elements into the json character string, and defining the json character string as an original json character string.
In particular, when the marketing component is a flow canvas component, the flow canvas component may be represented by a json string of the form:
Figure BDA0003660068560000071
Figure BDA0003660068560000081
the ellipses are the specific contents of nodes and edges respectively.
Taking the flow canvas component as an example, the form of the original json string of the flow canvas component may be as follows:
Figure BDA0003660068560000082
Figure BDA0003660068560000091
Figure BDA0003660068560000101
Figure BDA0003660068560000111
Figure BDA0003660068560000121
Figure BDA0003660068560000131
from the json strings generated above, it can be appreciated that the flow canvas component is divided into two basic component elements nodes and edges. Each base component element includes at least one sub-element. Taking the above example, the base component elements nodes include four sub-elements, startNode, brandhnode, actionNode, and endNode. The base component element edges includes two sub-elements, normal edge and brandhodge.
Alternatively, when a conflict field is generated, a conflict field is generated under each sub-element. Then at least one atomic operation sequence string and conflict domain ID are written in each sub-element to generate at least one conflict domain in each marketing component when S200 is executed. Taking the json character string converted by the process canvas component as an example, it can be seen that:
Figure BDA0003660068560000141
Figure BDA0003660068560000142
the character string is the character string of the sub-element 'actionNode', and the client side can adjust the winning probability of the doll by modifying the Name and the total number of the prizes won by modifying the Count.
Then we set the collision domain under this sub-element by performing execution S200 by writing at least one atomic operation sequence string and the collision domain ID, of course, at the same time as writing at least one atomic operation sequence string, the ID of the collision domain needs to be written.
After executing S200, the character string becomes:
Figure BDA0003660068560000151
Figure BDA0003660068560000161
it can be seen that a new row of characters "domini ID": 003 "is added to the json string, and the domini, i.e. the collision domain ID, represents that the collision domain ID under this subelement is 003. In addition, three atomic operation sequence character strings of Retain ("domain003",), Insert ("domain003", ") and Delete (" domain003",) are added, but the specific operation content is blank because S200 only sets the conflict domain and does not involve modifying the content in the conflict domain, and the subsequent client adds content to the atomic operation sequence character string because the client has modification requirements.
In one embodiment of the present application, when multiple conflict domains are generated in a marketing component, the different conflict domains are independent and data isolated.
Specifically, this arrangement can avoid ambiguity in collision determination. As mentioned above, when generating the conflict domain, a conflict domain is generated under each sub-element, so that different conflict domains are independent and do not affect each other.
In an embodiment of the present application, the S400 includes the following S410 to S470:
and S410, judging whether more than one marketing component modification request is received in a preset time period.
Specifically, if only one marketing component modification request is received within the preset time period, and it is not considered that there is a conflict, the marketing component modification request is normally executed, and then the execution continues to S410, and it is determined whether more than one marketing component modification request is received within the preset time period.
If no marketing component modification request is received within the preset time period, the process continues to S410, and it is determined whether more than one marketing component modification request is received within the preset time period.
And S420, if more than one marketing assembly modification request is received in a preset time period, reading the json character strings contained in each marketing assembly modification request to obtain a plurality of json character strings.
Specifically, when each client wants to modify the content of the marketing component, the original json string of the marketing component is obtained from the local, which has the original json string, because the marketing component is sent by the Serverless container in S300.
Further, the client modifies at least one atomic operation sequence character string in the original json character string to express the specific operation that the client wants to modify. Finally, the client adds the json character string (i.e., the json character string in S420, which is a meaning) with the modified atomic operation sequence character string to the marketing component modification request, and sends the marketing component modification request to the Serverless container.
In this way, after the Serverless container executes S420, the json character string sent by each client can be read, and the modification condition of the courtyard operation sequence character string of each json character string is different because the modification is different by different clients.
And S430, analyzing each json character string and acquiring the marketing component ID in each json character string.
Specifically, this step first requires determining whether the modification requests of different clients are directed to the same marketing component, and therefore, obtaining the marketing component ID.
And S440, comparing the marketing component IDs in each json character string, and judging whether a plurality of json character strings with the same marketing component ID exist.
Specifically, for example, if the marketing component ID sent by the client a to the Serverless container is canvas and the marketing component ID sent by the client B to the Serverless container is sheet, the two are not consistent, which indicates that the client a wants to modify the flow canvas component, the client B wants to modify the form component, and the marketing component is different, and certainly, it is determined that there are no json strings with the same marketing component ID, and no conflict is formed, and the subsequent steps are interrupted, and the process returns to S410.
S450, if a plurality of json character strings with the same marketing component ID exist, the atomic operation sequence character string of each json character string in the plurality of json character strings with the same marketing component ID is further read.
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 canvas, then it indicates that the modified marketing components are the same, and it is necessary to further determine whether the modified marketing components are in the same collision domain
And S460, judging whether the modified contents of the json character strings with the same marketing component ID are in the same conflict domain according to the atomic operation sequence character string of each json character string in the json character strings with the same marketing component ID.
Specifically, the present embodiment determines whether the same conflict domain needs to be determined by an atomic operation sequence string. The client modifies what is exposed by the atomic operation sequence string.
S470, if the modified contents of the json strings with the same marketing component ID are located in the same conflict domain, determining that there are multiple different clients whose modified contents are located in the same conflict domain within a preset time period.
Specifically, for another example, the client a and the client B modify the prize configuration of the doll drawing activity in the process canvas component conflict domain002 simultaneously on line, then the Serverless container first obtains the marketing component ID in the json character string sent by the client a and the client B, respectively, and determines whether the ID of the marketing component modified by the two clients is the same.
For example, if client A and client B send the marketing component ID in the json string as canvas, the canvas marketing component ID refers to the flow canvas component. If so, indicating that both clients are modifying the same marketing component, both being process canvas components, then S450 is performed.
In S450-S470, whether the subsequent conflict domains are consistent is determined according to the content in the atomic operation sequence character string.
In an embodiment of the application, the preset time period is a time interval greater than or equal to 20 seconds and less than or equal to 30 seconds.
Specifically, the preset time period may be freely set, and is not limited to a time interval of 20 seconds or more and 30 seconds or less.
In an embodiment of the present application, the S460 includes the following S461 to S462:
s461, reading the conflict domain ID in the atomic operation sequence string of each json string of the multiple json strings with the same marketing component ID, and determining whether the conflict domain IDs are the same.
And S462, if the ID of the conflict domain is the same, determining that the modified contents of the json character strings with the same ID of the marketing component are positioned in the same conflict domain.
Specifically, the conflict domain ID is denoted as domainID, if the domainID is the same, it indicates that the two clients modify not only the same marketing component but also the same region, and this region has been defined as the conflict domain. Taking the above example, client a and client B modify the prize configuration for the dolls activity in the process canvas component conflict domain002 online at the same time, and then their domainids in the atomic operation sequence string are necessarily the same.
In an embodiment of the 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.
The Retain atomic operation sequence string is used to define where the pointer is located in the original json string.
The sequence of Insert atomic operations string is used to Insert new string content where the pointer is located in the original json string.
The Delete atomic operation sequence string is used to Delete all string contents after the position of the pointer in the original json string.
Specifically, the form of the Retain atomic operation sequence character string may be: retain ("domainID", "Num"). Retain refers to the atomic operation type being reservation. The domainID is the collision domain ID. Num is the number of characters the pointer moves. When the pointer moves, an optional scheme is that Num directly calculates the number of characters to be moved subsequently from the first character of the whole json character string, for example, if the character content of the segment of ' Name ': 10% ' is drawn, the pointer needs to locate the position of the letter e, so that when the client modifies the Retain atomic operation sequence character string, the client calculates how many characters exist from the first character of the whole json character string to the letter e of the Name, and the value of Num is defined after the character amount is obtained.
An Insert atomic operation sequence string may be of the form: insert ("domainID", "String 1"). Insert refers to the atomic operation type being addition. The domainID is the collision domain ID. String1 refers to the content of the character String that needs to be inserted.
For example, if the character content of "Name" and "drawing doll 10%" is modified, String1 is "drawing doll 20%".
The Delete atomic operation sequence string may be in the form of: delete ("domainID", "String 2"). Delete refers to the atomic operation type being Delete. The domainID is the collision domain ID. String2 refers to the content of a String that needs to be deleted.
For example, if the character content of "Name" and "drawing doll 10%" is modified, String1 is "drawing doll 10%".
It should be noted that if a Retain atomic operation sequence string, an Insert atomic operation sequence string, and an Insert atomic operation sequence string occur simultaneously, the order of composition within the conflict domain should be Retain atomic operation sequence string first, Insert atomic operation sequence string centered, and Insert atomic operation sequence string last. This is because in the modification, the pointer must be located first, then the content is deleted, and finally the content is added.
In an embodiment of the present application, the S600 includes the following S610 to S660:
s610, calling an original json character string.
Specifically, the present embodiment is a step of performing a modification operation after conflict resolution on an original json character string.
S620, selecting one client from a plurality of different clients in the same conflict domain.
S630, reading an atomic operation sequence character string in the json character string sent by the client, modifying the original json character string according to the atomic operation sequence character string, and generating a modified json character string of the client.
Specifically, each client generates and sends an atomic operation sequence character string in a json data string of the Serverless container by itself to provide a basis for modification.
And S640, returning to the S620 until the modified json character string of each client is generated.
Specifically, this step is a process of modifying the original json string specifically according to the modification request of each client.
And S650, generating a unique json character string after collision processing by utilizing an OT algorithm according to the modified json character string of each client.
Specifically, the json character string after the collision processing is unique and has modification tendencies of different clients, and the specific OT algorithm has various strategies and is not the key point of the protection of the application.
For example, a common OT algorithm strategy is that a client that first sends a Serverless container modification request has a heavier impact on unique json strings. This "first" represents "first" in time.
And S660, synchronously sending the unique json character string subjected to the collision processing to each client.
In an embodiment of the present application, the S630 includes the following S631 to S636:
s631, determining whether the json string sent by the client contains a Retain atomic operation sequence string.
S632, if the json character string sent by the client includes a Retain atomic operation sequence character string, reading a Num character in the Retain atomic operation sequence character string, moving the pointer by the Num character from an initial character in the original json character string, and defining a position of the character staying after the movement as a position where the pointer is located.
And S633, judging whether the json character string sent by the client contains an Insert atomic operation sequence character string.
S634, if the json character string sent by the client includes an Insert atomic operation sequence character string, reading the character content to be added in the Insert atomic operation sequence character string, and inserting the character content to be added in the position of the pointer in the original json character string.
And S635, judging whether the json character string sent by the client contains a Delete atomic operation sequence character string.
And S636, if the json character string sent by the client contains a Delete atomic operation sequence character string, reading character contents to be deleted in the Insert atomic operation sequence character string, and deleting the character contents to be deleted after the position of a pointer in the original json character string.
Specifically, for example, client a and the client modify the prize configuration for the doll activity simultaneously online in the process canvas component conflict domain 002. The original json string is:
Figure BDA0003660068560000221
it will be appreciated that the original lottery scheme for the marketing component is: the number of prizes of the doll is set as 100, and the winning rate is set as 10%.
The json character string of the user end A comprises three atomic operation sequence character strings, which are respectively as follows:
1.Retain(domain002,x)。
2.Insert(domain002,100)。
3.Delete(domain002,150)。
num in 1 is expressed by x, and is irrelevant to important data, it can be understood that the user terminal a modifies the number of the prizes for drawing the doll to 150.
The json character string of the user side B includes three atomic operation sequence character strings, which are:
1.Retain(domain002,y)。
2.Insert(domain002,10%)。
3.Delete(domain002,20%)。
num in 1 is expressed by y, since it is irrelevant data, it can be understood that the user terminal B modifies the winning rate of the doll to 20%.
And finally, calculating the unique json character string obtained after the collision processing by the OT algorithm as follows:
Figure BDA0003660068560000231
Figure BDA0003660068560000241
it will be appreciated that both schemes are covered in the unique json string after collision processing.
The application also provides a collaboration system of the client in the online updating process of the marketing component.
As shown in FIG. 2, in an embodiment of the present application, the collaboration system of the client in the online updating process of the marketing component includes a plurality of clients 100, a Serverless container 200 and a component server 300.
The Serverless container 200 is communicatively connected to each client 100. The Serverless application 200 is used to execute the collaboration method of the client in the online updating process of the marketing component as mentioned in the foregoing. The component server 300 is communicatively coupled to the Serverless container 200.
Specifically, for brevity of the text, all the devices or modules are only labeled in the embodiment of the collaboration system of the client during the online updating process of the marketing component, and are not labeled in the embodiment of the collaboration method of the client during the online updating process of the marketing component.
The Serverless container 200 comprises a json serialization module, a micro-service module, a monitoring module, a log module and an elastic capacity expansion module.
The json serialization module is used for executing the json serialization method of the marketing component.
The microservice module is used for calling the microservice general tool to synchronize the json character string to each client through the microservice general tool
The Monitoring module, Component Monitoring, can monitor the status of the Component.
The logging module, namely Component logging, is used for recording logs.
And the elastic capacity expansion module is used for flexibly collecting and releasing the resources occupied by the marketing activities.
The technical features of the embodiments described above may be arbitrarily combined, the order of execution of the method steps is not limited, and for simplicity of description, all possible combinations of the technical features in the embodiments are not described, however, as long as there is no contradiction between the combinations of the technical features, the combinations of the technical features should be considered as the scope of the present description.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present application. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, and these are all within the scope of protection of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.

Claims (10)

1. A method for collaboration of a client in an online updating process of a marketing component is characterized by comprising the following steps:
acquiring at least one marketing component in a marketing component file package from a component server, converting each marketing component into a json character string and storing the json character string, and defining the json character string as an original json character string;
writing at least one atomic operation sequence string and a conflict domain ID in each original json string to generate at least one conflict domain in each marketing component;
synchronously sending all original json character strings to each client;
judging whether a plurality of different clients with modified contents in the same conflict domain exist in a preset time period or not;
if a plurality of different clients with modified contents located in the same conflict domain exist in a preset time period, respectively acquiring an atomic operation sequence character string in a json character string sent by each client with the modified contents located in the same conflict domain;
generating a unique json character string after collision processing by utilizing an OT algorithm according to an atomic operation sequence character string in the json character string sent by each of a plurality of different clients of which the modified content is located in the same collision domain, and synchronously sending the unique json character string after collision processing to each client;
and storing the unique json character string after the collision processing, replacing the original json character string, and returning to judge whether a plurality of different clients with modified contents in the same collision domain exist in the preset time period.
2. The method for client collaboration during online updating of marketing components of claim 1, wherein the step of obtaining at least one marketing component from the component server, converting each marketing component into a json string and storing the json string, and defining the json string as an original json string comprises:
acquiring a marketing component file package from a component server, and reading the frame characteristics of marketing components in the marketing component file package;
analyzing the frame characteristics of the marketing assembly, and splitting the marketing assembly into a plurality of basic assembly elements according to the frame characteristics of the marketing assembly;
converting each basic component element into a key-value pair, and defining the key-value pair as a basic component element key-value pair;
creating a json character string, writing key value pairs of basic component elements of different basic component elements into the json character string, and defining the json character string as an original json character string.
3. The method of client collaboration in online update of a marketing component of claim 2 wherein when multiple conflict domains are generated in a marketing component, the different conflict domains are independent and data isolated from each other.
4. The method of claim 3, wherein the determining whether there are a plurality of different clients with modified content in the same conflict domain within a predetermined time period comprises:
judging whether more than one marketing component modification request is received within a preset time period;
if more than one marketing assembly modification request is received in a preset time period, reading json character strings contained in each marketing assembly modification request to obtain a plurality of json character strings;
analyzing each json character string to obtain a marketing component ID in each json character string;
comparing marketing component IDs in each json character string, and judging whether a plurality of json character strings with the same marketing component IDs exist or not;
if a plurality of json character strings with the same marketing component ID exist, further reading an atomic operation sequence character string of each json character string in the plurality of json character strings with the same marketing component ID;
judging whether the modified contents of a plurality of json character strings with the same marketing component ID are located in the same conflict domain or not according to the atomic operation sequence character string of each json character string in the plurality of json character strings with the same marketing component ID;
if the modified contents of the json character strings with the same marketing component ID are in the same conflict domain, determining that a plurality of different clients with the modified contents in the same conflict domain exist in the preset time period.
5. The method for client cooperation during online update of a marketing component according to claim 4, wherein the preset time period is a time interval of 20 seconds or more and 30 seconds or less.
6. The method of claim 5, wherein the determining whether the modified content of the json strings with the same marketing component ID is located in the same conflict domain according to the atomic operation sequence string of each json string in the json strings with the same marketing component ID comprises:
reading a conflict domain ID in an atomic operation sequence character string of each json character string in a plurality of json character strings with the same marketing component ID, and judging whether the conflict domain IDs are the same or not;
and if the ID of the conflict domain is the same, determining that the modified contents of the json character strings with the same ID of the marketing component are in the same conflict domain.
7. The method of client collaboration in the online update of a marketing component of claim 6, wherein the atomic operation sequence string comprises 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 character string is used for defining the position of the pointer in the original json character string;
the Insert atomic operation sequence character string is used for inserting new character string contents at the position of a pointer in the original json character string;
the Delete atomic operation sequence string is used to Delete all string contents after the position of the pointer in the original json string.
8. The method of claim 7, wherein the step of generating a unique json string after the collision processing by using an OT algorithm according to the atomic operation sequence string in the json string sent by each of the plurality of different clients whose modified contents are in the same collision domain and sending the unique json string after the collision processing to each client synchronously comprises:
calling an original json character string;
selecting one client from a plurality of different clients in the same conflict domain;
reading an atomic operation sequence character string in a json character string sent by the client, modifying an original json character string according to the atomic operation sequence character string, and generating a modified json character string of the client;
returning to the selected client side from the plurality of different client sides in the same conflict domain until a modified json character string of each client side is generated;
generating a unique json character string after conflict processing by utilizing an OT algorithm according to the modified json character string of each client;
and synchronously sending the unique json character string after the collision processing to each client.
9. The method of claim 8, wherein the reading an atomic operation sequence string in a json string sent by the client, modifying an original json string according to the atomic operation sequence string, and generating a modified json string of the client comprises:
judging whether the json character string sent by the client contains a Retain atomic operation sequence character string or not;
if the json character string sent by the client contains a Retain atomic operation sequence character string, reading a Num character in the Retain atomic operation sequence character string, moving a pointer from an initial character in the original json character string to the Num character, and defining the position of the character staying after moving as the position of the pointer;
judging whether the json character string sent by the client contains an Insert atomic operation sequence character string or not;
if the json character string sent by the client contains an Insert atomic operation sequence character string, reading character content to be added in the Insert atomic operation sequence character string, and inserting the character content to be added at the position of a pointer in the original json character string;
judging whether the json character string sent by the client contains a Delete atomic operation sequence character string or not;
and if the json character string sent by the client contains a Delete atomic operation sequence character string, reading the character content to be deleted in the Insert atomic operation sequence character string, and deleting the character content to be deleted after the position of a pointer in the original json character string.
10. A collaboration system of a client during online updating of a marketing component, comprising:
a plurality of clients;
a Serverless container, communicatively connected to each client, for executing the client cooperation method in the marketing component online update process according to any one of claims 1 to 9;
and the component server is in communication connection with the Serverless container.
CN202210574315.1A 2022-05-24 2022-05-24 Method and system for collaboration of client in online updating process of marketing component Pending CN115048120A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210574315.1A CN115048120A (en) 2022-05-24 2022-05-24 Method and system for collaboration of client in online updating process of marketing component

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210574315.1A CN115048120A (en) 2022-05-24 2022-05-24 Method and system for collaboration of client in online updating process of marketing component

Publications (1)

Publication Number Publication Date
CN115048120A true CN115048120A (en) 2022-09-13

Family

ID=83159007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210574315.1A Pending CN115048120A (en) 2022-05-24 2022-05-24 Method and system for collaboration of client in online updating process of marketing component

Country Status (1)

Country Link
CN (1) CN115048120A (en)

Similar Documents

Publication Publication Date Title
US8015151B2 (en) Method and system for managing and modifying time dependent data structures
CN108647277B (en) Mobile campus comprehensive service platform and working method thereof
US7127475B2 (en) Managing data integrity
US7464097B2 (en) Managing data integrity using a filter condition
EP1530136A1 (en) Data aggregation
CN109389423A (en) A kind of marketing application method based on big data fusion business
US8180042B2 (en) Agent communications tool for coordinated distribution, review, and validation of call center data
CN113592680A (en) Service platform based on regional education big data
CN114416703A (en) Method, device, equipment and medium for automatically monitoring data integrity
CN110134689B (en) Target group screening method and system based on main body object label change and computer equipment
US20140074807A1 (en) System and Method for Providing Version Management Services Within a Collaborative Content Editing Environment
US20220019605A1 (en) Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
JP5169560B2 (en) Business flow processing program, method and apparatus
CN115329011A (en) Data model construction method, data query method, data model construction device and data query device, and storage medium
CN114090634A (en) Hotel data management method and device based on data warehouse
CN115048120A (en) Method and system for collaboration of client in online updating process of marketing component
Almomani et al. Software process improvement initiatives in small and medium firms: a systematic review
EP3306540A1 (en) System and method for content affinity analytics
CN115952160A (en) Data checking method
CN111563123B (en) Real-time synchronization method for hive warehouse metadata
CN114169937A (en) Poster generation method and device, computer equipment and computer readable storage medium
JP3933770B2 (en) Destination conflict determination, correction device, destination conflict determination, and computer-readable recording medium recording a correction program in a storage and exchange type electronic conference system
CN112417281A (en) Data analysis method, device and equipment
CN111913963B (en) Method and system for storing interface data on demand
Sundaravadivelu et al. Knowledge reuse of software architecture design decisions and rationale within the enterprise

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