A CDN-based three-dimensional asset distribution method, device, equipment and medium
Through the CDN network and the encrypted string authentication mechanism with multiple encryption processes, the problems of low efficiency in 3D asset distribution and low privacy of user information are solved, and safe and efficient 3D asset distribution is achieved.
Patent Information
- Application Number
- CN202410326949.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-21
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-03-21
AI Technical Summary
The existing technology has low efficiency in distributing three-dimensional assets, low privacy of user information, and easy theft of user device information.
The CDN network receives access requests from user devices, parses the domain name system to determine the nearest edge server, and uses a multi-encrypted encryption string for authentication to ensure the secure distribution of 3D assets.
It improves the distribution efficiency of 3D assets, enhances the information privacy of user devices, prevents unauthorized access, and improves security protection.
Smart Images

Figure CN118174936B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to the technical field of three-dimensional assets, in particular to a three-dimensional asset distribution method and device based on a CDN, equipment and a medium. BACKGROUND
[0002] Apple, Nvidia, Pixar, Adobe and Autodesk jointly established the OpenUSD Alliance, which mainly develops OpenUSD format digital assets, that is, three-dimensional assets. This technology was first applied to the exchange of 3D graphics content between various digital content creation tools in the film and television production field. At present, the alliance focuses on promoting the application of USD format digital assets in the metaverse field. USD is an open and extensible file format and data exchange standard for describing and exchanging three-dimensional computer graphics scenes and asset data.
[0003] Apple provides support for the implementation of USD in terms of hardware and software, especially in its product line to promote the integration and optimization of USD. Nvidia: Nvidia provides key support for the rendering and visualization of USD through its powerful graphics processing capabilities. Pixar: Pixar is the founder of USD and has been promoting its development and innovation, and working with other alliance members to ensure its wide adoption. Adobe: Adobe promotes the integration of USD through its extensive creative tool suite, such as Adobe Creative Cloud, enabling designers and artists to more easily use and share 3D content. Autodesk: Autodesk, as a leader in 3D design and engineering software, promotes the compatibility and adoption of USD through its products such as Maya and 3dsMax. Currently, the OpenUSD Alliance (AOUSD) is the main member of the OpenUSD Alliance (AOUSD) and is promoting the OpenUSD digital asset format, and is rapidly integrated into existing product systems.
[0004] At present, the application of OpenUSD in China is relatively late. At present, there are only a few entrepreneurial companies in China promoting the application of OpenUSD digital assets, and there is no large-scale core technology promotion.
[0005] In summary, the application of OpenUSD in the metaverse and digital twin is being promoted at home and abroad at present, but it is mainly integrated in offline local asset applications, and there is a lack of research on online distribution of three-dimensional assets. At the same time, users need to provide user device ID and other information when requesting access to three-dimensional assets, which is easy to cause user device information to be stolen, and there are problems of low efficiency of three-dimensional asset distribution and low privacy of user information. SUMMARY
[0006] The application provides a CDN-based three-dimensional asset distribution method, device, equipment and medium, which can solve the problems of low distribution efficiency of three-dimensional assets and low user information privacy.
[0007] In a first aspect, the application provides a CDN-based three-dimensional asset distribution method, which comprises:
[0008] receiving an access request sent by a user device; the access request carries domain name system of the user device and identification information of a target three-dimensional asset requested to be accessed, the target three-dimensional asset being one of all three-dimensional assets in a source server of a CDN for distributing three-dimensional assets, and the three-dimensional asset being a file of a three-dimensional model;
[0009] returning attribute information of the target three-dimensional asset to the user device according to the identification information of the target three-dimensional asset;
[0010] performing domain name system resolution, and determining a target edge server closest to the user device according to a resolution result; the target edge server being one of all edge servers of the CDN for distributing three-dimensional assets;
[0011] receiving a final encrypted string of the user device sent by the user device; the final encrypted string being obtained through multiple encryption processes of the user device based on the attribute information of the target three-dimensional asset and a sending time of the access request;
[0012] authenticating the final encrypted string, and distributing the target three-dimensional asset to the user device through the target edge server after authentication passes.
[0013] Optionally, before the step of receiving the access request sent by the user device, the three-dimensional asset distribution method further comprises:
[0014] packing a three-dimensional asset file to be uploaded to obtain a three-dimensional asset; the three-dimensional asset file being an original file of a three-dimensional model;
[0015] uploading the three-dimensional asset to a source server of a CDN for distributing three-dimensional assets, and synchronizing the three-dimensional asset to each edge server of the CDN through the source server.
[0016] Optionally, the packing of the three-dimensional asset file to be uploaded to obtain the three-dimensional asset comprises:
[0017] setting a checkpoint for each project file of the three-dimensional asset file to be uploaded, and generating a checkpoint file according to all the checkpoints; the checkpoint being an intermediate save point of the project file, and the checkpoint file being used for recording intermediate save files of all the project files;
[0018] Convert each project file of the 3D asset file to be uploaded into the USDA format to obtain multiple USDA format project files;
[0019] Read the logical reference relationship between each two project files, and generate a reference relationship file in Json format based on all logical reference relationships;
[0020] Package the checkpoint file of the 3D asset file to be uploaded, all USDA format project files, and Json format reference relationship files into the same folder to obtain the 3D asset.
[0021] Optionally, the attribute information of the target three-dimensional asset is an access path of the target three-dimensional asset;
[0022] Multiple encryption processes include:
[0023] Using a message digest algorithm, the access path of the target 3D asset requested for access, the time the access request was sent, the private key of the user device, the random string, and the identity information of the user device are encrypted to obtain an initial encrypted string;
[0024] Calculate the parity bit based on the long integer value of the sending time;
[0025] If the parity bit is odd, then for each odd bit in the initial encrypted string, swap the odd bit with the next digit after the odd bit to obtain the final encrypted string of the user device;
[0026] If the parity bit is an even number, then for each even bit in the initial encrypted string, the even bit is swapped with the next digit of the even bit to obtain the final encrypted string of the user equipment.
[0027] Optionally, calculate the parity bit based on the long integer value of the send time, including:
[0028] By formula:
[0029] OE=timestamp%2
[0030] Calculate the parity bit OE;
[0031] Here, timestamp indicates the long integer value of the sending time, and % indicates the modulo operation.
[0032] In a second aspect, an embodiment of the present application provides a CDN-based three-dimensional asset distribution device, comprising:
[0033] A first receiving module receives an access request sent by a user device; the access request carries the domain name system of the user device and identification information of a target three-dimensional asset requested for access, where the target three-dimensional asset is one of all three-dimensional assets in an origin server of a CDN used to distribute the three-dimensional asset, and the three-dimensional asset is file data of a three-dimensional model;
[0034] A return module, which returns attribute information of the target three-dimensional asset to the user device according to the identification information of the target three-dimensional asset;
[0035] a resolution module that resolves the domain name system and determines, based on the resolution result, a target edge server that is closest to the user device; the target edge server is one of all edge servers of the CDN used to distribute the three-dimensional asset;
[0036] A second receiving module receives a final encrypted string of the user device sent by the user device; the final encrypted string is obtained by the user device after performing multiple encryption processes based on the attribute information of the target 3D asset and the sending time of the access request;
[0037] The distribution module authenticates the final encrypted string and, after authentication, distributes the target 3D asset to the user device through the target edge server.
[0038] In a third aspect, an embodiment of the present application provides a terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned CDN-based three-dimensional asset distribution method when executing the above-mentioned computer program.
[0039] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program, which implements the above-mentioned CDN-based three-dimensional asset distribution method when executed by a processor.
[0040] The above solution of the present application has the following beneficial effects:
[0041] In an embodiment of the present application, an access request sent by a user device is received, the domain name system is parsed, and the target edge server closest to the user device is determined based on the parsing result. The final encrypted string of the user device sent by the user device is then received. The final encrypted string is obtained by the user device after multiple encryption processes based on the attribute information of the target three-dimensional asset and the sending time of the access request. Finally, the final encrypted string is authenticated, and after the authentication is passed, the target three-dimensional asset is distributed to the user device through the target edge server. Among them, multiple encryption processes based on the target three-dimensional asset requested for access and the sending time of the access request can obtain a high-strength final encrypted string, thereby improving the privacy of the user device's information. Authentication of the final encrypted string can prevent the user device from accessing other unauthorized three-dimensional assets, thereby improving the security protection of the three-dimensional assets. At the same time, the three-dimensional assets are distributed to the authenticated user devices through the target edge server closest to the user device, which can effectively improve the distribution efficiency of the three-dimensional assets.
[0042] Other beneficial effects of the present application will be described in detail in the subsequent specific implementation section. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0044] Figure 1 A flowchart of a CDN-based 3D asset distribution method provided in one embodiment of the present application;
[0045] Figure 2 A schematic diagram of a logical reference relationship provided in an embodiment of the present application;
[0046] Figure 3 A specific flow chart for packaging 3D asset files to be uploaded provided in one embodiment of the present application;
[0047] Figure 4 A schematic diagram of the structure of a CDN-based three-dimensional asset distribution device provided in one embodiment of the present application;
[0048] Figure 5 A schematic diagram of the structure of a terminal device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0049] In the following description, specific details such as specific system structures and techniques are provided for purposes of illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obscuring the description of the present application with unnecessary detail.
[0050] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or collections thereof.
[0051] It will also be understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0052] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0053] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0054] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0055] In view of the low distribution efficiency of the existing three-dimensional assets and the low privacy of the user information, the embodiment of the application provides a three-dimensional asset distribution method based on CDN. The three-dimensional asset distribution method receives an access request sent by a user device, resolves a domain name system, determines a target edge server closest to the user device according to a resolution result, receives a final encrypted string of the user device sent by the user device, the final encrypted string being obtained by performing multiple encryption processes on attribute information of a target three-dimensional asset and a sending time of the access request based on the user device, authenticates the final encrypted string, and distributes the target three-dimensional asset to the user device through the target edge server after the authentication is passed. The multiple encryption processes on the target three-dimensional asset and the sending time of the access request can obtain a final encrypted string with high strength, improve the privacy of the information of the user device, and improve the security protection of the three-dimensional asset by authenticating the final encrypted string and avoiding the situation that the user device accesses other three-dimensional assets without permission. Meanwhile, the three-dimensional asset can be distributed to the user device that passes the authentication through the target edge server closest to the user device, which can effectively improve the distribution efficiency of the three-dimensional asset.
[0056] Next, the three-dimensional asset distribution method based on CDN provided by the application is exemplarily described.
[0057] As shown in Figure 1 The three-dimensional asset distribution method based on CDN provided by the application includes the following steps:
[0058] Step 11, receiving an access request sent by a user device.
[0059] The access request carries a domain name system of the user device and identification information of a target three-dimensional asset accessed by the user device, the target three-dimensional asset being one of all three-dimensional assets in a source server of a CDN for distributing three-dimensional assets, and the three-dimensional asset being a file of a three-dimensional model. The receiver of the access request can be a service end for managing a content distribution network (CDN).
[0060] It should be noted that before this step is performed, the three-dimensional asset distribution method provided by the application further includes:
[0061] Firstly, a three-dimensional asset file to be uploaded is packaged to obtain a three-dimensional asset.
[0062] It should be noted that the three-dimensional asset file to be uploaded is a three-dimensional asset file that needs to be uploaded to the source server of the CDN, and the three-dimensional asset file is an original file of a three-dimensional model.
[0063] Specifically, first, a checkpoint is set for each project file to upload the 3D asset file, and a checkpoint file is generated according to all the checkpoints.
[0064] The above checkpoints are intermediate save points of project files, and the checkpoint files are used to record the intermediate save files of all project files.
[0065] Then, each project file of the three-dimensional asset file to be uploaded is converted into the USDA format to obtain multiple USDA format project files.
[0066] Then, the logical reference relationship between each two project files is read, and a reference relationship file in Json format is generated based on all the logical reference relationships.
[0067] Finally, the checkpoint file of the 3D asset file to be uploaded, all the project files in the USDA format, and the reference relationship files in the Json format are packaged into the same folder to obtain the 3D asset.
[0068] The second step is to upload the 3D assets to the origin server of the CDN used to distribute the 3D assets, and synchronize the 3D assets to each edge server of the CDN through the origin server.
[0069] For example, a file packaging tool such as vite can be used to package the uploaded 3D asset files to obtain the 3D assets. The CDN used to distribute the 3D assets can be a CDN built by a 3D asset website such as the GrabCAD Community Museum.
[0070] The following is an illustrative description of the logical reference relationship between each of the two project files mentioned above in conjunction with a specific embodiment.
[0071] like Figure 2 As shown in the figure, the circle represents the project file, and the edge with the arrow represents the logical reference relationship between the corresponding two project files (for example, the project file Start One can reference the first project file M1, and the first project file M1 can reference the project file Start One), Start One represents the first project file read, M1 represents the first project file, M2 represents the second project file, M3 represents the third project file, M4 represents the fourth project file, and M5 represents the fifth project file. For a three-dimensional asset file to be uploaded, the three-dimensional asset file to be uploaded contains the six project files mentioned above. In order to prevent the project file from being modified during the packaging process, a checkpoint is set for each project file. The checkpoint is an intermediate save point of the project file, such as the last save moment of the project file before packaging, and the intermediate save files of the six project files at the last save moment (such as the parameters of the model, etc.) are generated into a checkpoint file. At the same time, Figure 2The logical reference relationship shown generates a reference relationship file.
[0072] The above packaging steps are exemplarily described below with reference to a specific example.
[0073] like Figure 3 As shown, after the start, the directory or project of the 3D asset file to be uploaded is tagged (i.e., labeled), and then the packaging service is called back to return the result to determine whether to package. If so, the 3D asset file to be uploaded is packaged and published to the CDN source station (i.e., the CDN source station server mentioned above), and then ends. If not, it ends directly.
[0074] Step 12: Return the attribute information of the target three-dimensional asset to the user device according to the identification information of the target three-dimensional asset.
[0075] In some embodiments of the present application, after receiving an access request, the server for managing the CDN reads the identification information of the target 3D asset carried in the access request and then sends the attribute information of the target 3D asset to the user device. The identification information may be the name, identification code, etc. of the target 3D asset.
[0076] Exemplarily, the attribute information of the target three-dimensional asset may be an access path of the target three-dimensional asset in the target edge server.
[0077] Step 13: parse the domain name system and determine the target edge server closest to the user device based on the parsing result.
[0078] The target edge server is one of all edge servers of the CDN for distributing the three-dimensional asset.
[0079] In some embodiments of the present application, computer software such as DNSPod can be used to resolve the domain name system of the user device to obtain the address of the user device, and then determine the target edge server closest to the user device based on the distance between the address of the user device and each edge server.
[0080] For example, if the user device is in Hunan, the domain name system is resolved to hn.cloud.mg.xyz; if the user device is in Beijing, the domain name system is resolved to bj.cloud.mg.xyz.
[0081] It is worth mentioning that the domain name system is parsed to determine the target edge server of the user device, so as to facilitate the subsequent use of the target edge server to achieve three-dimensional asset distribution to the user device.
[0082] Step 14: Receive the final encrypted string of the user equipment sent by the user equipment.
[0083] The final encrypted string is obtained by the user device after multiple encryption processes based on the attribute information of the target 3D asset and the sending time of the access request. The attribute information of the target 3D asset is the access path of the target 3D asset.
[0084] In some embodiments of the present application, this step is performed on the user device. Specifically, the multiple encryption processes include:
[0085] In the first step, a message digest algorithm is used to encrypt the access path of the target 3D asset requested for access, the time the access request is sent, the private key of the user device, the random string, and the identity information of the user device to obtain an initial encrypted string.
[0086] The second step is to calculate the parity bit based on the long integer value of the sending time.
[0087] By formula:
[0088] OE=timestamp%2
[0089] Calculate the parity bit OE.
[0090] Here, timestamp indicates the long integer value of the sending time, and % indicates the modulo operation.
[0091] In the third step, if the parity bit is an odd number, for each odd bit in the initial encrypted string, the odd bit is swapped with the next digit after the odd bit to obtain the final encrypted string of the user device.
[0092] If the parity bit is an even number, then for each even bit in the initial encrypted string, the even bit is swapped with the next digit of the even bit to obtain the final encrypted string of the user equipment.
[0093] For example, an encryption website such as sojson can be used to run the fifth version of the message digest algorithm to obtain an initial encrypted string. Specifically, the initial encrypted string is a token. The generated token includes the access path of the target 3D asset, the time the access request was sent (the token expiration time can be confirmed based on the sending time), a random string to prevent the token from generating duplicates, the user device's identity information (used to bind the user device to this access), and the user device's public key. These parameters are encrypted to generate the initial encrypted string, such as the initial encrypted string A = e10adc3949ba59abbe56e057f20f883e.
[0094] It should be noted that since the last digit in the initial encrypted string does not have the next digit, the last digit in the initial encrypted string is not swapped. After obtaining the final encrypted string, the user device sends the final encrypted string to the server.
[0095] It is worth mentioning that the multiple encryption according to the target three-dimensional asset requested to be accessed and the sending time can integrate the information of the user equipment and protect the information of the user equipment, thereby improving the privacy of the information.
[0096] Step 15, authenticating the final encrypted string, and after the authentication is passed, distributing the target three-dimensional asset to the user equipment through the target edge server.
[0097] In some embodiments of the present application, the server for managing the CDN described above authenticates the final encrypted string, and after the authentication is passed, distributes the target three-dimensional asset to the user equipment through the target edge server, and the user equipment saves the three-dimensional asset locally. If the authentication fails, a prompt message of no access right is returned to the user equipment.
[0098] For example, since the user equipment and the server have previously agreed on the encryption and decryption method, after the server receives the final encrypted string, the server decrypts the final encrypted string by using the algorithm corresponding to the algorithm used to encrypt the final encrypted string, and then matches the private key of the server with the public key in the final encrypted string (previously distributed to the server, used to match the private key of the user equipment). If the matching is successful, and the final encrypted string is not expired at the current time, the target three-dimensional file is accessed according to the access path of the target three-dimensional file in the final encrypted string, and the three-dimensional asset is distributed to the user equipment, and the user equipment renders the three-dimensional asset.
[0099] It is worth mentioning that the multiple encryption according to the target three-dimensional asset requested to be accessed and the sending time can integrate the information of the user equipment and protect the information of the user equipment, thereby improving the privacy of the information.
[0100] The CDN-based three-dimensional asset distribution device provided by the present application will be described below.
[0101] As shown in Figure 4 The CDN-based three-dimensional asset distribution device 400 provided by the embodiments of the present application comprises:
[0102] The first receiving module 401 receives the access request sent by the user equipment. The access request carries the domain name system of the user equipment and the identification information of the target three-dimensional asset requested to be accessed. The target three-dimensional asset is one of all three-dimensional assets in the source station server of the CDN for distributing three-dimensional assets. The three-dimensional asset is the file data of a three-dimensional model.
[0103] Return module 402 returns attribute information of the target 3D asset to the user device based on the identification information of the target 3D asset;
[0104] The resolution module 403 resolves the domain name system and determines the target edge server closest to the user device based on the resolution result; the target edge server is one of all edge servers of the CDN used to distribute the three-dimensional asset;
[0105] The second receiving module 404 receives a final encrypted string of the user device sent by the user device; the final encrypted string is obtained by the user device after performing multiple encryption processes based on the attribute information of the target 3D asset and the sending time of the access request;
[0106] The distribution module 405 authenticates the final encrypted string, and after the authentication is passed, distributes the target 3D asset to the user device through the target edge server.
[0107] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of this application. Their specific functions and technical effects can be found in the method embodiment section and will not be repeated here.
[0108] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0109] like Figure 5 As shown, an embodiment of the present application provides a terminal device, and the terminal device D10 of this embodiment includes: at least one processor D100 ( Figure 5 Only one processor is shown in the figure), a memory D101, and a computer program D102 stored in the memory D101 and executable on the at least one processor D100, wherein the processor D100 implements the steps of any of the above method embodiments when executing the computer program D102.
[0110] Specifically, when the processor D100 executes the computer program D102, it receives an access request sent by a user device, then resolves the domain name system, and determines the target edge server closest to the user device based on the resolution result. It then receives the final encrypted string of the user device sent by the user device, which is obtained after the user device performs multiple encryption processes based on the attribute information of the target three-dimensional asset and the sending time of the access request. Finally, it authenticates the final encrypted string, and after the authentication is passed, it distributes the target three-dimensional asset to the user device through the target edge server. Multiple encryption processes based on the target three-dimensional asset requested for access and the sending time of the access request can obtain a high-strength final encrypted string, thereby improving the privacy of the user device's information. Authenticating the final encrypted string can prevent the user device from accessing other unauthorized three-dimensional assets, thereby improving the security protection of the three-dimensional assets. At the same time, the three-dimensional assets are distributed to the authenticated user devices through the target edge server closest to the user device, effectively improving the distribution efficiency of the three-dimensional assets.
[0111] The processor D100 may be a central processing unit (CPU), or may be another general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor or any conventional processor.
[0112] In some embodiments, the memory D101 may be an internal storage unit of the terminal device D10, such as a hard disk or memory of the terminal device D10. In other embodiments, the memory D101 may also be an external storage device of the terminal device D10, such as a plug-in hard disk, a smart memory card (SMC, SmartMedia Card), a secure digital (SD, Secure Digital) card, a flash card, etc. equipped on the terminal device D10. Furthermore, the memory D101 may also include both an internal storage unit of the terminal device D10 and an external storage device. The memory D101 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program. The memory D101 may also be used to temporarily store data that has been output or is to be output.
[0113] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned various method embodiments can be implemented.
[0114] An embodiment of the present application provides a computer program product. When the computer program product is run on a terminal device, the terminal device can implement the steps in the above-mentioned method embodiments when executing the computer program product.
[0115] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, it can implement the steps of each of the above-mentioned method embodiments. The computer program includes computer program code, which can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the CDN-based three-dimensional asset distribution method device / terminal device, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, mobile hard disk, magnetic disk or optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.
[0116] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0117] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0118] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A CDN-based 3D asset distribution method, characterized in that: include: receiving an access request sent by a user device; The access request carries the domain name system of the user device and identification information of the target three-dimensional asset requested for access, the target three-dimensional asset being one of all three-dimensional assets in an origin server of a CDN for distributing three-dimensional assets, and the three-dimensional asset being file data of a three-dimensional model; Returning attribute information of the target three-dimensional asset to the user equipment according to the identification information of the target three-dimensional asset; Parsing the domain name system and determining a target edge server closest to the user device based on the parsing result; The target edge server is one of all edge servers of the CDN for distributing the three-dimensional asset; receiving a final encrypted string of the user equipment sent by the user equipment; The final encrypted string is obtained by the user device after performing multiple encryption processes based on the attribute information of the target three-dimensional asset and the sending time of the access request; authenticating the final encrypted string, and distributing the target three-dimensional asset to the user device through the target edge server after the authentication is passed; Before the step of receiving the access request sent by the user device, the three-dimensional asset distribution method further includes: Package the 3D asset files to be uploaded to obtain 3D assets; the 3D asset files are the original files of the 3D model; Uploading the three-dimensional asset to an origin server of a CDN for distributing three-dimensional assets, and synchronizing the three-dimensional asset to each edge server of the CDN through the origin server; The three-dimensional asset files to be uploaded are packaged to obtain the three-dimensional assets, including: Setting a checkpoint for each project file of the three-dimensional asset file to be uploaded, and generating a checkpoint file based on all the checkpoints; the checkpoint is an intermediate storage point of the project file, and the checkpoint file is used to record the intermediate storage files of all project files; Convert each of the project files of the three-dimensional asset file to be uploaded into the USDA format to obtain a plurality of USDA format project files; Read the logical reference relationship between each two project files, and generate a reference relationship file in Json format based on all logical reference relationships; Packing the checkpoint file, all the project files in the usda format, and the reference relationship files in the json format of the three-dimensional asset file to be uploaded into the same folder to obtain the three-dimensional asset; The attribute information of the target three-dimensional asset is an access path of the target three-dimensional asset; The multiple encryption processes include: Encrypting the access path of the target three-dimensional asset requested for access, the time the access request was sent, the private key of the user device, the random string, and the identity information of the user device using a message digest algorithm to obtain an initial encrypted string; Calculate a parity bit based on the long integer value of the sending time; If the parity check bit is an odd number, swapping each odd bit in the initial encrypted string with the next digit of the odd bit to obtain a final encrypted string of the user equipment; If the parity check bit is an even number, then for each even-numbered bit in the initial encrypted string, the even-numbered bit is swapped with the next digit of the even-numbered bit to obtain a final encrypted string of the user equipment.
2. The three-dimensional asset distribution method according to claim 1, characterized in that: The calculating of the parity bit according to the long integer value of the sending time includes: By formula: ; Calculate the parity bit ; in, A long integer value representing the sending time. Represents the remainder operation.
3. A CDN-based 3D asset distribution device, characterized in that: include: A first receiving module receives an access request sent by a user device; The access request carries the domain name system of the user device and identification information of the target three-dimensional asset requested for access, the target three-dimensional asset being one of all three-dimensional assets in an origin server of a CDN for distributing three-dimensional assets, and the three-dimensional asset being file data of a three-dimensional model; a returning module, which returns attribute information of the target three-dimensional asset to the user equipment according to the identification information of the target three-dimensional asset; A resolution module, which resolves the domain name system and determines a target edge server closest to the user device based on the resolution result; The target edge server is one of all edge servers of the CDN for distributing the three-dimensional asset; A second receiving module receives a final encrypted string of the user equipment sent by the user equipment; The final encrypted string is obtained by the user device after performing multiple encryption processes based on the attribute information of the target three-dimensional asset and the sending time of the access request; a distribution module, authenticating the final encrypted string, and distributing the target three-dimensional asset to the user device via the target edge server after the authentication is passed; The first receiving module is specifically configured to implement: Before the step of receiving the access request sent by the user device, the three-dimensional asset distribution method further includes: Package the 3D asset files to be uploaded to obtain 3D assets; the 3D asset files are the original files of the 3D model; Uploading the three-dimensional asset to an origin server of a CDN for distributing three-dimensional assets, and synchronizing the three-dimensional asset to each edge server of the CDN through the origin server; The three-dimensional asset files to be uploaded are packaged to obtain the three-dimensional assets, including: Setting a checkpoint for each project file of the three-dimensional asset file to be uploaded, and generating a checkpoint file based on all the checkpoints; the checkpoint is an intermediate storage point of the project file, and the checkpoint file is used to record the intermediate storage files of all project files; Convert each of the project files of the three-dimensional asset file to be uploaded into the USDA format to obtain a plurality of USDA format project files; Read the logical reference relationship between each two project files, and generate a reference relationship file in Json format based on all logical reference relationships; Packing the checkpoint file, all the project files in the usda format, and the reference relationship files in the json format of the three-dimensional asset file to be uploaded into the same folder to obtain the three-dimensional asset; The attribute information of the target three-dimensional asset is an access path of the target three-dimensional asset; The multiple encryption processes include: Encrypting the access path of the target three-dimensional asset requested for access, the time the access request was sent, the private key of the user device, the random string, and the identity information of the user device using a message digest algorithm to obtain an initial encrypted string; Calculate a parity bit based on the long integer value of the sending time; If the parity check bit is an odd number, swapping each odd bit in the initial encrypted string with the next digit of the odd bit to obtain a final encrypted string of the user equipment; If the parity check bit is an even number, then for each even-numbered bit in the initial encrypted string, the even-numbered bit is swapped with the next digit of the even-numbered bit to obtain a final encrypted string of the user equipment.
4. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the CDN-based three-dimensional asset distribution method according to any one of claims 1 to 2 is implemented.
5. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the CDN-based three-dimensional asset distribution method according to any one of claims 1 to 2 is implemented.
Citation Information
Patent Citations
Cloud-centric platform for collaboration and connectivity on 3D virtual environments
US20210049827A1
Blockchain-based data processing method and device and readable storage medium
US20240039992A1