Disclosure of Invention
The embodiment of the invention provides a data synchronization system in CG production, which coordinates the synchronization problem between assets/shots in CG production through a synchronization subsystem and a project management subsystem, can comprise grabbing, pushing and synchronizing multiple objects, and can solve the automation problem in CG production.
The embodiment of the invention provides a data synchronization system in CG production, which can comprise:
the system comprises a project management subsystem, a synchronization subsystem, a local server side and an outsourcing client side;
the project management subsystem is used for managing project data in the CG project, wherein the project data at least comprises one or more of assets/shots to be manufactured, manufacturing tasks, manufacturers, delivery time, QC version, feedback data and data transmission attributes;
the synchronous subsystem is used for carrying out data capture and/or data pushing according to task data submitted by the outsourcing client and/or the local server, wherein the task data is uploaded versions or release files submitted to the project management subsystem after the outsourcing client and/or the local server completes a manufacturing task of any manufacturing link of any asset/lens;
the local server is used for acquiring task data acquired by the synchronization subsystem from the outsourcing client;
the outsourcing client is used for acquiring task data pushed by the synchronous subsystem from the local server.
Further, the data synchronization system further comprises an event server, a storage server and an outsourcing storage server;
the event server is a component of the project management subsystem and is used for providing conditional triggering actions according to the changes in the project management subsystem;
the storage server provides network storage space for the local server and is at least used for storing manufactured assets/shots and upstream and downstream version files;
further, when the project management subsystem does not exist in the data synchronization system, the storage server follows a preset target structure to standardize the catalogue and the storage file;
when the data synchronization system is provided with a project management subsystem, the storage server organizes a set of tree-structured directory network management data by adopting database entries and classifications in the project management subsystem;
furthermore, the storage server also comprises read-write permission of the files and the catalogs;
and the outsourcing storage server provides network storage space for the outsourcing client.
Furthermore, the project management subsystem is also used for managing production assets, and the functions played in the data synchronization system comprise site belonging management, task version and release file management and asset/lens upstream and downstream and self-dependent relation management.
Further, when the outsourcing client submits the task data, the data synchronization system creates a record in the project management subsystem for making a database entry record for the stored data and generating site attribute settings for the database entry record.
Further, when the outsourcing client submits the task data, the event server judges whether the task data is stored in the outsourcing storage server according to site attribute setting on a production task corresponding to the task data;
and when the judgment result is yes, the synchronization subsystem generates a synchronization task for extracting task data in the outsourcing storage server.
Further, the project management subsystem compares the site attribute recorded by the database entry with the site condition on the task data, and determines a transmission target corresponding to any task data of any source and an execution state of the transmission task, wherein any source is any package client, and the transmission target is a local server.
Further, after a transmission task is started, safety handshake authentication of the source and the transmission target is performed based on the synchronization subsystem.
Further, after the transmission task is completed, the site information of the transmission target is marked on a database entry of the project management subsystem.
Further, the synchronization subsystem is further configured to search for an upstream and a downstream resource/lens having a dependency relationship with the task data to be pushed currently according to the dependency relationship, and push the upstream and the downstream resource/lens having the dependency relationship to the outsourcing client together with the task data.
Further, after the local server side obtains the task data captured by the synchronization subsystem from the current outsourcing client side, the task data is pushed to the outsourcing client side which has dependence on the data except the current outsourcing client side according to a preset pushing requirement.
The invention has the beneficial effects that:
in the embodiment of the invention, the synchronization subsystem coordinates the synchronization problem between assets/shots in CG production through the synchronization subsystem and the project management subsystem, thereby realizing the authority control and permission management in the synchronization process while solving the automation problem in CG production, and most importantly realizing the synchronization of multiple collaborative objects, and ensuring the integrity of capturing and pushing data according to the dependence relation problem of manufacturing assets and shots.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The terms "comprising" and "having" and any variations thereof in the description and claims of the invention and in the foregoing drawings are intended to cover non-exclusive inclusions, the terms "first" and "second" being used merely for distinguishing between them and not for the purpose of a numerical size or ordering. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
In the embodiment of the invention, the terminal equipment in the data synchronization system in CG production can be computer equipment, and the computer equipment can be a computer or other terminal equipment with calculation processing capability.
In a first embodiment of the present application, as shown in fig. 1, a data synchronization system in CG production may include at least a project management subsystem, a synchronization subsystem, a local server, and an outsourcing client.
In a specific implementation, the project management subsystem is used for managing project data in CG projects, where the project data relates more, and at least may include assets and shots that need to be produced, tasks according to production stages, production personnel and production/delivery time, submitting a version of production QC, and director/director feedback on the submitted version, etc. Preferably, the database form of the project management subsystem may also include data transfer attributes that determine which assets/shots are addressed to which outsources.
In the specific implementation, the synchronization subsystem is mainly used for carrying out data capture and/or data pushing according to task data submitted by the outsourcing client and/or the local server, namely, unidirectional capture and pushing and continuous transmission and capture of multiple objects are realized through the synchronization subsystem. It should be noted that, the task data may be an uploaded version or a release file submitted by a task made by a outsourcer or a local user from a client based on a link of an asset/shot.
Further, the synchronization subsystem can acquire task data from the outsourcing client and then transmit the task data to the local server, and the synchronization subsystem can acquire data from the local server and then push the data to the outsourcing client. It should be noted that, in a CG item, multiple outsourcing users are distributed in task link stages of different assets/shots, one outsourcing client issues task data and stores the task data in a local server, and other outsourcing users need to acquire the data synchronized by the outsourcing client through a synchronization subsystem, so as to realize continuous transmission and capture of multiple objects.
In an alternative implementation, the data synchronization system is shown in fig. 2, and further includes an event server, a storage server, and an outsourced storage server. The event server is used as a component of the project management subsystem, and can provide conditions according to the change in the project management subsystem to trigger subsequent actions, such as adding a version, and triggering and running a section of program after meeting a certain condition. The storage server mainly provides network storage space for the local server, and is at least used for storing the manufactured assets/shots and all the upstream and downstream version files in the space. Optionally, if some processes do not have a project management subsystem, a set of directory structure specifications is followed to plan directories and store files, but in many processes with project management subsystems, a set of tree-structured directory networks corresponding to each other is generally organized to manage data by using database entries and classifications in the project management subsystem, and in addition, read-write rights of files and directories are also reflected on the storage server.
In a preferred implementation, the authority control needs to be performed in the process of data synchronization, which is specifically shown in three layers of authority authentication, as shown in fig. 3:
authentication at project management subsystem level: first the desktop end program of the project management subsystem needs to be started, this step requires authentication of the user name and password of the project management subsystem, and installation of the ssl certificate of the project management subsystem. After the desktop program is properly started, it will also automatically check and synchronize the code of the auto-synchronization subsystem tool to ensure consistency with the local server. After the above steps are completed, the automatic synchronization subsystem is started on the basis of the desktop program. Thus, this step determines "tools for the person of the pair to open the pair".
Authentication at the automated synchronization subsystem level: the local server can be started on the local server, a ssl certificate can be independently issued to the opposite party on the client side, the opposite party can start the remote client side for use, the connection port and the domain name of the local server are fixed, and the external outsourcing client side can generate different ports and addresses according to the network condition of the remote client side network, so that the local server side can confirm the certificate to be a system tool of the application, and the client side connection allowed by issuing is obtained. In this step, a "let-to-pair local server and remote client handshake" is determined.
Storage layer authentication: the project root directory that requires the remote outsourcing client to store the data is consistent and correct, so a string of verification codes needs to be recorded in the database form of the project management subsystem, and placed in the remote client project root directory, where the verification of the layer can be preceded by verifying whether the remote code is absent or not matched with the settings in the project management subsystem.
Further, after the handshake authentication of the three layers, the data can be encrypted and transmitted through https protocol, and a plurality of transmission processes can be started simultaneously to transmit synchronous data, and as shown in fig. 4, the data is transmitted through 4 processes.
In a preferred implementation, the asset/lens dependencies are as shown in FIG. 5, where there will be dependencies in the upstream and downstream links in the manufacturing flow. When pushing the data of the downstream link, the dependent upstream link data I needs to be sent to the outsourcing client side. For example, when a certain role asset is bound, the binding link is made by using the release file of the model link, and therefore, when the binding is sent to the outsourcing client, the corresponding version of the model link is also sent to the remote outsourcing client by binding a dependency relationship of the model which depends on the same asset. If some animation shot uses the asset binding data comprising the links, when the animation shot data is sent, the related role binding and the model and the used mapping thereof are sent together through the two-layer recursion dependency relationship of the animation dependence model.
In the embodiment of the invention, the synchronization subsystem coordinates the synchronization problem between assets/shots in CG production through the synchronization subsystem and the project management subsystem, thereby realizing the authority control and permission management in the synchronization process while solving the automation problem in CG production, and most importantly realizing the synchronization of multiple collaborative objects, and ensuring the integrity of capturing and pushing data according to the dependence relation problem of manufacturing assets and shots.
In a second embodiment of the present application, the underlying structure of the central database of the data synchronization system is shown in FIG. 6.
As can be seen from fig. 6, the underlying data of the entire synchronization system may be divided into three levels, in the first level, the project management subsystem controls the property of the asset, each asset outputs versions and release files of different stages according to its task, and each version and release file of each stage has a dependency relationship between upstream and downstream and itself; in the second level, the synchronization task is triggered by uploading a version or issuing a file, an object needing synchronization is determined through site management, and finally a capturing or pushing action is executed by a server side of the synchronization subsystem; in the third hierarchy, the outsourcing client is responsible for communicating with a server of the syncword system, the outsourcing client is responsible for receiving or pushing data, controlling the outsourcing side disk, and the outsourcing side user uses the outsourcing side disk data.
In a third embodiment of the present application, a description is mainly made about a release grabbing process triggered synchronously in a data synchronization system, and a specific grabbing flow is shown in fig. 7, and may at least include the following steps:
s101, the outsourcing side asset or lens uploads the version or the release file.
In a specific implementation, the outsourcer may submit an uploaded version or release a file from a certain maker, i.e., an outsourcing client, based on a production task of a certain link of an asset/shot.
S102, the outsourcer writes the project management subsystem database entry.
It will be appreciated that the link distribution program will examine and generate a series of required data, there will be storage space for the outsourcing partner, the outsourcing storage server, and a record will be created in the project management subsystem, a database entry record will be made for the stored data, and the source site for this record will be filled. Where the site attribute is a list of strings of records, one record representing one source, typically registered as an outsourcer studio name.
S103, triggering the local event server.
It should be noted that, the project management subsystem triggers an event check when there is a new database record of the newly created task data (i.e. the uploaded version or the released file). The event server may determine whether the task data is stored in the outsourcing storage server according to a site attribute, i.e., a site setting, on the production task corresponding to the task data. Preferably, when comparing site setting on a production task, if the site information on the database record of the upload version or the release file has only site fields of the outsourcing partner, but does not have site records of the central database of the synchronization system, it can be determined that the file corresponding to the database record is remotely released on the outsourcing storage server by the outsourcing partner, and is not locally available, so that a grabbed synchronization task can be created, and the task data is transferred to the synchronization subsystem.
S104, generating and adding a synchronous task to the synchronous subsystem.
It should be noted that, in step S103, the database of the synchronization subsystem may insert a synchronization task according to the dependency relationship. Typically, a plurality of tasks are piled up in a database at a time to wait for extraction to be performed.
S105, checking site slave and determining transmission source and destination.
It will be appreciated that each task will set an attribute in an entry according to the site on the task, and the project management subsystem can calculate which data needs to be transferred from which source to which transmission destination and the execution status of the transmission task by comparing the site on the uploaded version or the published file entry. The source is any packet client, and the transmission target is a local server.
S106, authentication is performed through a secure handshake.
In a specific implementation, a server side of the synchronization subsystem triggers a task of taking and storing in a database of the synchronization subsystem in step S104 and step S105 at regular time or through an event server, a transmission working process is started, and the server side can request with a remote outsourcing client side to perform security handshake verification of a source and a destination.
S107, starting transmission from the outsourcer to the local server.
Specifically, after all the security handshakes are verified, the actual file data starts to be transmitted from the source to the destination and is stored in the destination storage space.
S108, after the transmission is completed, the marking synchronization task is finished, and site information is updated.
In a specific implementation, after the transmission is completed, whether the subsequent data transmission is needed or not can be detected, and meanwhile, the current transmission working process can be closed. And the site information of the target site is marked on the database entry of the project management subsystem so that the database entry will have both the outsourcer and the receiver site attributes. Further, both remote and local will have files corresponding to the records. And updating site information in the database entry after the data transmission is completed, so that the accuracy of subsequent data transmission judgment is ensured.
It should be noted that, in special cases, manual grabbing and merging are also required, the application also supports manual tool packing, and the unpacking and inserting tools of the packed data are also responsible for unpacking and correctly inserting data through traditional manual sending and receiving, and fig. 8 is a tool for unpacking and inserting the packed data.
In a fourth embodiment of the present application, a description is mainly made about a center pushing process triggered synchronously in a data synchronization system, and a specific pushing flow is shown in fig. 9, and may at least include the following steps:
s201, uploading version or release files by local assets or shots.
S202, a database entry written into the project management subsystem is created locally.
S203, triggering the local event server.
It should be noted that, the implementation process in steps S201 to S203 is similar to steps S101 to S103 of the third embodiment, and the initiator is only required to be changed to the local server, which is not described in detail herein.
S204, generating and adding a synchronous task to the synchronous subsystem through the dependency relationship.
In a specific implementation, when an asset is pushed locally to the outsourcing client, a dependency exists in consideration of links where the pushed object may have references to other assets. To ensure that what has been pushed through opens correctly, assets of other links that are used downstream must also be found out iteratively to be sent together.
S205, checking site subordinate, and determining an outsourcing client needing pushing.
It should be noted that, due to the above-mentioned dependency relationship, there may be a plurality of assets being queued to the transmission task, and distributed to the required outsourcing clients according to the site information calculation result.
S206, authentication is performed through a secure handshake.
S207, distributing to each remote outsourcing client.
And S208, after the transmission is completed, the marking synchronization task is ended, and site information is updated.
In the fifth embodiment of the present application, a description will be mainly made with respect to a continuous transfer and grabbing process of multiple objects in a data synchronization system, and a specific transfer and grabbing process is shown in fig. 10.
It should be noted that, when a project has multiple outsourcing users distributed in different assets, task link stages of a shot, and has dependency relationships with each other, the synchronization system also supports the requirement.
The embodiment includes both the grabbing process of the three embodiments and the pushing process of the four embodiments.
In a specific implementation, it is assumed that the outsourcing user 1 issues a version of an upstream task as shown in fig. 10, and the automatic synchronization subsystem drags the things of the outsourcing user 1 to the local server through steps S101-S108 of the three embodiments. On the task setting of the local server, if the outsourcing users 2, 3, 4 need the newly recovered asset, the event server triggers the respective pushing to complete steps S201-208 of the four embodiments because of the change of the site information in step S108, and pushes the asset to the remote target storage spaces of the outsourcing clients.
It should be noted that, in the process shown in fig. 9, the local end may push the task data to other outsourcing clients according to the preset pushing requirement after the capturing process in step 3 is completed. For example, the local server may decide to push immediately or push to the outsourced remote client after certain conditions are met, via step 4. For example, after recovering the asset, the link responsible person opens up to check the result of doing one go, decides whether to send or click back to modify and wait for the next modified version to submit to check to pass, and pushes to the outsourcer of the demand.
Those skilled in the art will appreciate that implementing all or part of the above-described methods in the embodiments may be accomplished by computer programs stored in a computer-readable storage medium, which when executed, may include the steps of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.
The foregoing disclosure is illustrative of the present invention and is not to be construed as limiting the scope of the invention, which is defined by the appended claims.