WO2022057935A1 - Method and apparatus for obtaining data based on content delivery network - Google Patents

Method and apparatus for obtaining data based on content delivery network Download PDF

Info

Publication number
WO2022057935A1
WO2022057935A1 PCT/CN2021/119446 CN2021119446W WO2022057935A1 WO 2022057935 A1 WO2022057935 A1 WO 2022057935A1 CN 2021119446 W CN2021119446 W CN 2021119446W WO 2022057935 A1 WO2022057935 A1 WO 2022057935A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
address
data
fingerprint
content fingerprint
Prior art date
Application number
PCT/CN2021/119446
Other languages
French (fr)
Chinese (zh)
Inventor
单卫华
熊林
Original Assignee
华为云计算技术有限公司
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 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2022057935A1 publication Critical patent/WO2022057935A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Definitions

  • the embodiments of the present application relate to the field of content distribution networks, and in particular, to a method and apparatus for acquiring data based on a content distribution network.
  • FIG. 1 is a schematic structural diagram of a content distribution network provided in the prior art.
  • the terminal device 110 sends a uniform resource locator (URL) to the domain name system (domain name system, DNS) server 120, the domain name The system server 120 parses the uniform resource locator, and feeds back the internet protocol (IP) address of the cache cluster 130 to the terminal device 120 .
  • URL uniform resource locator
  • IP internet protocol
  • the terminal device 120 sends a data request including the uniform resource locator to the cache cluster 130 .
  • the cache cluster 130 includes a plurality of content cache servers 131 .
  • the content cache server 131 in the cache cluster 130 queries its corresponding data according to the uniform resource locator. If the content cache server 131 in the cache cluster 130 caches the data accessed by the terminal device 110 , the data is fed back to the terminal device 110 . If the content cache server 131 in the cache cluster 130 does not cache the data accessed by the terminal device 110 , the data is obtained from the content source 140 that provides the data, and the data is fed back to the terminal device 110 .
  • the uniform resource locator is invalid or modified, even if the content cache server stores data, the content cache server cannot query the data accessed by the end user, and cannot feed back the data to the terminal device. Therefore, how a terminal device can quickly acquire the accessed data is an urgent problem to be solved.
  • the embodiments of the present application provide a method and apparatus for acquiring data based on a content distribution network, which solves the problem of how to quickly acquire the accessed data.
  • the present application provides a method for acquiring data based on a content distribution network, the method can be applied to a terminal device, or the method can be applied to a device that can support a terminal device to implement the method for acquiring data, for example, the acquiring data
  • the device comprises a chip system, and the method includes: the terminal device obtains the address of the content distribution server indicated by the content fingerprint address and the first content fingerprint, obtains the address of the content cache server from the content distribution server, and then obtains the address of the content cache server from the content cache server.
  • the server acquires the data associated with the first content fingerprint, and displays the content expressed by the data.
  • the first content fingerprint is generated from the data to be accessed.
  • the terminal device can still obtain the data to be accessed from the content cache server according to the content fingerprint address or content fingerprint, so as to avoid the inability to query the data accessed by the end user and to send the The situation that the terminal equipment feeds back data improves the accuracy and rate of the terminal equipment acquiring data.
  • the uniform resource locator may contain sensitive information such as file names, which may easily lead to information leakage.
  • the content fingerprint address and the content fingerprint indication data are used to avoid information leakage and improve data security.
  • the terminal device after acquiring the first content fingerprint and the address of the content distribution server from the content fingerprint address, the terminal device sends the content fingerprint address and the address of the terminal device to the content distribution server, or sends the content distribution server to the content distribution server.
  • the terminal device sends the first content fingerprint to the content cache server indicated by the address of the content cache server; and receives the data associated with the first content fingerprint sent by the content cache server.
  • the terminal device can display the content expressed by the data.
  • This embodiment also provides a method for verifying data. Specifically, after acquiring the data associated with the first content fingerprint from the content cache server indicated by the address of the content cache server, the method further includes: the terminal device generates a second content fingerprint by using a hash algorithm; when the first content fingerprint and the second content fingerprint are When the fingerprints are the same, the terminal device determines that the data has not been tampered with. Therefore, it is convenient for the terminal device to verify whether the acquired data has been tampered with according to the content fingerprint of the data, and to prompt the user whether the received data is correct.
  • the method before obtaining the address of the content cache server from the content distribution server according to the content fingerprint address, the method further includes: the terminal device may obtain the content fingerprint address from other servers in the content distribution network according to the identification of the data .
  • Data is identified as a Uniform Resource Locator or resource name.
  • other servers may be Domain Name System servers.
  • the domain name system server stores the correspondence between the identifier of the data and the content fingerprint address of the data. Therefore, it is convenient for the terminal device to obtain the address and content fingerprint of the content distribution server according to the content fingerprint address.
  • the terminal device After receiving the data acquisition instruction from the user, the terminal device acquires the content fingerprint address according to the data identifier.
  • the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name; obtaining a content fingerprint address according to an identifier of the data includes: obtaining a plurality of fragments included in the resource according to the identifier of the data The content fingerprint address of the slice data.
  • the terminal device obtains fragmented data from multiple content cache servers, thereby effectively improving the efficiency of data acquisition by the terminal device and breaking through the bandwidth bottleneck of a single storage server.
  • the present application provides a method for acquiring data based on a content distribution network, the method can be applied to a content distribution server, or the method can be applied to a device that can support the content distribution server to implement the method for distributing data, such as this
  • the device for distributing data includes a chip system, and the method includes: the content distribution server receives the address and content fingerprint address of the terminal device sent by the terminal device, or, after receiving the address and content fingerprint of the terminal device sent by the terminal device, determine according to the address of the terminal device.
  • the address of the content cache server associated with the content fingerprint, and the address of the content cache server is sent to the terminal device.
  • the content fingerprint is generated according to the data to be accessed, and the content fingerprint address is used to indicate the content fingerprint and the address of the content distribution server.
  • the content cache server indicated by the address of the content cache server stores the data and the content fingerprint.
  • the content distribution server informs the terminal device of the address of the content storage server where the data is stored, so that the terminal device can obtain the information associated with the content fingerprint from the content cache server indicated by the address of the content cache server. It avoids the situation that the data accessed by the terminal user cannot be queried, and the data cannot be fed back to the terminal device, thereby improving the accuracy and speed of the terminal device acquiring data.
  • the method further includes: the content distribution server receiving data sent by the content source; generating a content fingerprint according to the data, and generating a content fingerprint address; determining at least one content caching server according to the content fingerprint address; The cache server sends data and content fingerprints.
  • the content fingerprint address is generated based on the content fingerprint of the data and the address of the content distribution server, the content fingerprint address uniquely indicates a piece of data.
  • the content distribution server distributes a piece of data to the same content cache server according to the content fingerprint address. It is understandable that the data corresponding to different content fingerprints stored by one content cache server are different, and the content fingerprints of the same data on different content cache servers are the same. Therefore, the disadvantage that the content cache server stores multiple copies of the same data when the uniform resource locators corresponding to the same piece of data are different is overcome. The redundant storage of the content cache server is avoided, and the utilization rate of the content cache server is improved.
  • the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name; the method further includes: the content distribution server divides the resource into multiple fragmented data, and each fragment is divided into multiple fragmented data.
  • the content fingerprints of the data and fragmented data are stored to at least one content cache server. Therefore, it is convenient for the terminal device to acquire data from multiple content cache servers at the same time, which improves the rate at which the terminal device acquires data.
  • the present application provides a method for sending data based on a content distribution network, the method can be applied to a content cache server, or the method can be applied to a device that can support the content cache server to implement the method for caching data, such as this
  • the device for caching data includes a chip system, and the method includes: a content caching server receives a content fingerprint sent by a terminal device, determines data associated with the content fingerprint according to the content fingerprint; and sends the data associated with the content fingerprint to the terminal device. Content fingerprints are generated from the data to be accessed.
  • the content cache server can determine the data to be accessed by the user according to the content fingerprint, and send the data associated with the content fingerprint to the terminal device, avoiding the inability to query the data accessed by the terminal user. In the case where data cannot be fed back to the terminal device, the accuracy and rate of data acquisition by the terminal device are improved.
  • the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name.
  • the present application provides an apparatus for acquiring data, where the apparatus for acquiring data includes functions of each module for executing the method in the first aspect or any possible implementation manner of the first aspect.
  • the present application provides an apparatus for distributing data, where the apparatus for distributing data includes the functions of each module for executing the method in the second aspect or any possible implementation manner of the second aspect.
  • the present application provides an apparatus for caching data, where the apparatus for caching data includes the functions of each module for executing the method in the third aspect or any possible implementation manner of the third aspect.
  • the present application provides a computer, the computer includes a memory and a processor, the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, the first aspect or The functions of each module of the method in any possible implementation manner of the first aspect.
  • the present application provides a computer, the computer includes a memory and a processor, the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, the second aspect or In the second aspect, the functions of each module of the method in any possible implementation manner.
  • the present application provides a computer, the computer includes a memory and a processor, the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, the third aspect or
  • the third aspect is the function of each module of the method in any possible implementation manner.
  • the present application provides a computer-readable storage medium, including computer software instructions; when the computer software instructions are executed in a computer, the computer is made to execute the first aspect or any one of the possible implementations of the first aspect. method described.
  • the present application provides a computer-readable storage medium, comprising computer software instructions; when the computer software instructions are executed in a computer, the computer is made to execute any one of the second aspect or possible implementations of the second aspect the method described.
  • the present application provides a computer-readable storage medium, comprising computer software instructions; when the computer software instructions are executed in a computer, the computer is made to execute any one of the third aspect or possible implementations of the third aspect the method described.
  • the present application provides a computer program product comprising instructions, which, when executed on a computer, cause the computer to perform the method described in the first aspect or any one of the implementations of the first aspect.
  • the present application provides a computer program product comprising instructions, which, when run on a computer, cause the computer to perform the method described in the second aspect or any one of the implementations of the second aspect.
  • the present application provides a computer program product comprising instructions, which, when run on a computer, cause the computer to perform the method described in the third aspect or any one of the implementation manners of the third aspect.
  • the present application may further combine to provide more implementation manners.
  • FIG. 1 is a schematic structural diagram of a content distribution network provided by the prior art
  • FIG. 2 is a schematic structural diagram of a content distribution network according to an embodiment of the present application.
  • FIG. 3 is a flowchart of a method for distributing data according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of an interface display of data content provided by an embodiment of the present application.
  • FIG. 6 is a flowchart of a method for acquiring data based on a content distribution network provided by an embodiment of the present application
  • FIG. 7 is a schematic structural diagram of another content distribution network provided by an embodiment of the present application.
  • FIG. 8 is a flowchart of another method for acquiring data based on a content distribution network provided by an embodiment of the present application.
  • FIG. 9 is a flowchart of another method for acquiring data based on a content distribution network provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of an apparatus for acquiring data according to an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of an apparatus for distributing data according to an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of an apparatus for caching data provided by an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a computer according to an embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of another computer provided by an embodiment of the present application.
  • words such as “exemplary” or “for example” are used to represent examples, illustrations or illustrations. Any embodiments or designs described in the embodiments of the present application as “exemplary” or “such as” should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as “exemplary” or “such as” is intended to present the related concepts in a specific manner.
  • “Plurality” means two or more, and other quantifiers are similar.
  • “And/or” describes the association relationship between associated objects, indicating that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist at the same time, and B exists alone.
  • occurrences of the singular forms “a”, “an” and “the” do not mean “one or only one” unless the context clearly dictates otherwise, but rather “one or more” in one”.
  • a device means to one or more such devices.
  • "at least one of subsequent associated objects for example "at least one of A, B and C" includes A, B, C, AB, AC, BC, or ABC.
  • FIG. 2 shows an exemplary diagram of an architecture of a content distribution network that can be applied to this embodiment of the present application.
  • the content distribution network includes a plurality of cache clusters 210 .
  • the cache cluster 210 includes a content distribution server 211 and a plurality of content cache servers 212 .
  • the content distribution server 211 is connected to a plurality of content cache servers 212 .
  • a cache cluster can be deployed based on the size of the geographic extent. For example, a cache cluster 210 is deployed in the range of a zone, and terminal devices within the range of the zone can obtain data from the content cache server 212 in the cache cluster 210 .
  • a cache cluster 210 is deployed within the scope of a city, and terminal devices within the scope of the city can obtain data from the content cache server 212 in the cache cluster 210 . If the geographic scope is large, you can deploy multi-level cache clusters, and the multi-level cache clusters are connected in sequence.
  • a content distribution server 211 in a cache cluster 210 within a district may be connected to a content distribution server 211 in a cache cluster 210 within a city.
  • FIG. 2 is only a schematic diagram, and the content distribution network may also include other devices, such as a configuration center, routers, and switches of the content distribution network, which are not shown in FIG. 2 .
  • the embodiments of the present application do not limit the number of cache clusters, content distribution servers, and content cache servers included in the content distribution network.
  • the content distribution server 211 is used for distributing the data acquired from the content source 220 to at least one content caching server 212, and the data is stored by the at least one content caching server 212, so that the terminal device 230 can obtain the data from the best content caching server 212 as quickly as possible to obtain the accessed data.
  • the optimal content cache server 212 may be the server closest to the terminal device 230 , or may be the server with the fastest transmission speed in the cache cluster 210 .
  • the content source 220 may be a resource provider's server, or may be a content cache server 212 in another cache cluster 210 .
  • FIG. 3 is a flowchart of a method for distributing data based on a content distribution network according to an embodiment of the present application.
  • the content distribution server 211 receives the data sent by the content source 220 .
  • the data received by the content distribution server 211 may be actively sent by the content source 220 to the content distribution server 211.
  • the data received by the content distribution server 211 is the received data sent by the content source 220 after the content distribution server 211 actively sends a request message to the content source 220 .
  • the content distribution server 211 generates a content fingerprint of the data.
  • a content fingerprint is a string of letters and numbers generated from data using a hash algorithm (eg: MD5).
  • a content fingerprint uniquely indicates the data that generated the content fingerprint.
  • the content fingerprint of the data changes as the data changes.
  • the content fingerprint is also sent with changes.
  • the content fingerprint could be 5971bed8bbe98aacca48acc93eaf58d4.
  • the content distribution server 211 generates a content fingerprint address of the data.
  • a content fingerprint address is a queryable address that contains a content fingerprint.
  • the content distribution server 211 may generate the content fingerprint address according to the content fingerprint and the address of the content distribution server 211 .
  • the content distribution server 211 splices the content fingerprint and the address of the content distribution server 211 to generate the content fingerprint address.
  • 192.168.100.101:8090 represents the address of the content distribution server 211
  • 5971bed8bbe98aacca48acc93eaf58d4 represents the content fingerprint.
  • the content distribution server 211 may generate the content fingerprint address according to the content fingerprint and the domain name of the content distribution server 211 .
  • the content distribution server 211 splices the content fingerprint and the domain name of the content distribution server 211 to generate the content fingerprint address.
  • ept.ipcdn.huaweicloud.com:8090 represents the domain name of the content distribution server 211
  • 5971bed8bbe98aacca48acc93eaf represents the content fingerprint.
  • the content distribution server 211 uses an encryption algorithm to encrypt the content fingerprint and the address of the content distribution server 211 to generate the content fingerprint address.
  • the content distribution server 211 publishes the generated content fingerprint address to a server on the Internet (eg, a website, an application store, etc.).
  • the server on the Internet stores the corresponding relationship between the resource name and the content fingerprint address, or stores the corresponding relationship between the content uniform resource locator and the content fingerprint address.
  • the content distribution server 211 publishes the generated content fingerprint address to the domain name system server, and the domain name system server stores the corresponding relationship between the content uniform resource locator and the content fingerprint address, or stores the corresponding relationship between the resource name and the content fingerprint address. .
  • the content distribution server 211 determines at least one content cache server 212 according to the content fingerprint address.
  • the content distribution server 211 may determine at least one content cache server 212 according to a load balancing technology, so that each content cache server 212 stores data of an optimally matched amount of data that it can load.
  • the content distribution server 211 sends the data and the content fingerprint to at least one content cache server 212.
  • Each of the at least one content caching server 212 stores data and content fingerprints sent by the content distribution server 211 .
  • At least one content cache server 212 includes all content cache servers 212 in the cache cluster 210 . Understandably, the content distribution server 211 determines all the content cache servers 212 in the cache cluster 210 according to the content fingerprint addresses, distributes the data and content fingerprints to all the content cache servers 212 in the cache cluster 210, and caches each content in the cache cluster 210. The cache server 212 stores data and content fingerprints.
  • the at least one content cache server 212 includes a portion of the content cache servers 212 in the cache cluster 210 .
  • the content distribution server 211 determines some content cache servers 212 in the cache cluster 210 according to the content fingerprint addresses, distributes data and content fingerprints to some content cache servers 212 in the cache cluster 210, and caches some content in the cache cluster 210.
  • Server 212 stores data and content fingerprints.
  • the content fingerprint address is generated based on the content fingerprint of the data and the address of the content distribution server 211, the content fingerprint address and the content fingerprint uniquely indicate a piece of data.
  • the content distribution server 211 distributes a piece of data to the same content cache server 212 according to the content fingerprint address. It is understandable that the data corresponding to different content fingerprints stored by one content cache server 212 is different, and the content fingerprints of the same data on different content cache servers 212 are the same. Therefore, the disadvantage of storing multiple copies of the same data when the uniform resource locators corresponding to the same piece of data are different is overcome. The redundant storage of the content cache server is avoided, and the utilization rate of the content cache server is improved.
  • FIG. 4 is a flowchart of another method for distributing data based on a content distribution network according to an embodiment of the present application. The difference from the method shown in FIG. 3 is that after the content distribution server 211 receives the resource sent by the content source 220 (execute S410 ), the content distribution server 211 divides the resource into multiple pieces of data (execute S420 ). For example, the content distribution server 211 divides resources according to content size or resource type, and obtains multiple pieces of data.
  • the content distribution server 211 divides the video file in units of a data amount of 1 megabytes (M). For example, the content distribution server 211 divides an Android application package (android application package, APK) with a data volume of 2M as a unit. Further, the content distribution server 211 traverses the segmented data obtained by division, and for each segmented data, the content distribution server 211 executes S430 to S460 until all segmented data is traversed, and stores each segmented data in multiple content caches server 212.
  • M data amount of 1 megabytes
  • the content distribution server 211 generates a content fingerprint of the fragmented data.
  • the content distribution server 211 generates a content fingerprint address of the fragmented data.
  • the content distribution server 211 determines at least one content cache server 212 according to the content fingerprint address of the fragmented data.
  • the content distribution server 211 sends the fragmented data and the content fingerprint of the fragmented data to at least one content cache server 212.
  • the terminal device acquires data from multiple content cache servers 212 at the same time, which improves the rate at which the terminal device acquires data.
  • the content distribution server 211 may also store data and content fingerprints of the data, that is, the functions of the content distribution server 211 may be deployed on any content cache server 212 in the cache cluster 210 .
  • the terminal device 230 may also be referred to as a terminal (terminal), a user equipment (UE), a mobile station (mobile station, MS), a mobile terminal (mobile terminal, MT), and the like.
  • the terminal device can be a mobile phone (mobile phone), a tablet computer (Pad), a computer with wireless transceiver function, a virtual reality (Virtual Reality, VR) terminal device, an augmented reality (Augmented Reality, AR) terminal device, industrial control (industrial control) wireless terminals in ), wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grid, wireless terminals in transportation safety Terminals, wireless terminals in smart cities, wireless terminals in smart homes, and so on.
  • the embodiments of the present application do not limit the specific technology and specific device form adopted by the terminal device.
  • the terminal device 230 is installed with a client (eg, a browser 231 or an application 232 ).
  • the client can also be called the client, which corresponds to the server and provides local services to users.
  • the interface of the client can display various contents (such as videos, news, pictures, etc.).
  • the terminal user can click on the interface of the client, and the terminal device 230 sends a request message to the content distribution network, acquires the data, and uses the display to display the content expressed by the data.
  • a plurality of videos about star A are displayed on the interface of the browser 231 .
  • the user can click on the video 4 of the star A displayed on the interface of the browser 231 (501), the terminal device 230 responds to the click operation of the terminal user, and the content fingerprint address of the video 4 of the star A can also be displayed on the interface of the browser 231, and Send a request message to the content distribution network to obtain the resources of Star A's video 4.
  • the content fingerprint address of the video 4 of star A includes the address of the content distribution network and the content fingerprint of the video 4 of star A.
  • the display interface of the terminal device 230 displays the content of the video 4 of the star A (502).
  • the end user clicks on the video 503 displayed on the interface of the application 232 .
  • the application interface may not display the content fingerprint address of the video 503 .
  • the terminal device 230 responds to the user's click operation, and sends a request message to the content distribution network to obtain video resources.
  • the display interface of the terminal device 230 displays the content of the playing video.
  • the content distribution network may further include a control server, the control server determines a cache cluster in the content distribution network, and feeds back the address of the cache cluster 210 to the terminal device 230 .
  • the cache cluster 210 indicated by the control server may be the cache cluster closest to the terminal device 230, or may be the cache cluster with the fastest transmission speed.
  • the terminal device 230 obtains the address of the content cache server 212 according to the content fingerprint address, and obtains the data associated with the content fingerprint from the content cache server 212 indicated by the address of the content cache server 212 .
  • FIG. 6 is a flowchart of a method for acquiring data based on a content distribution network according to an embodiment of the present application.
  • the terminal device 230 obtains the content fingerprint address according to the identifier of the data.
  • the identification of the data can be a uniform resource locator (uniform resource locator, URL) or a resource name.
  • the terminal user clicks on the content displayed on the display interface, and the terminal device 230 responds to the click operation of the terminal user and obtains the content fingerprint address according to the identifier of the data.
  • a Uniform Resource Locator is a representation on the Internet's World Wide Web Services for specifying the location of information.
  • the terminal device 230 may obtain the content fingerprint address from the other server 240 shown in FIG. 7 according to the identification of the data.
  • Other servers 240 may be servers on the Internet (eg, websites, application malls, etc.) or domain name system servers.
  • a server on the Internet stores the correspondence between resource names and content fingerprint addresses.
  • the terminal device 230 may send the resource name to the server on the Internet, and receive the content fingerprint address corresponding to the resource name sent by the server on the Internet. As shown in Table 1.
  • the content fingerprint address corresponding to resource name 1 is content fingerprint address 1.
  • the content fingerprint address corresponding to resource name 2 is content fingerprint address 2 .
  • the content fingerprint address corresponding to resource name 3 is content fingerprint address 3 .
  • the terminal device 230 can obtain the content fingerprint address 2.
  • the DNS server stores the correspondence between the uniform resource locator and the content fingerprint address.
  • the terminal device 230 may send the content uniform resource locator to the domain name system server, and receive the content fingerprint address corresponding to the content uniform resource locator sent by the domain name system server. As shown in table 2.
  • the content fingerprint address corresponding to the uniform resource locator 1 is the content fingerprint address 1.
  • the content fingerprint address corresponding to the uniform resource locator 2 is the content fingerprint address 2 .
  • the content fingerprint address corresponding to the uniform resource locator 3 is the content fingerprint address 3 .
  • the terminal device 230 can obtain the content fingerprint address 2.
  • the content fingerprint address can also be embedded in the Uniform Resource Locator.
  • the terminal device 230 can obtain the content fingerprint address of the data from the uniform resource locator of the data.
  • the terminal device 230 acquires the content fingerprint address according to the data identifier.
  • the terminal device 230 acquires the first content fingerprint and the address of the content distribution server 211 from the content fingerprint address.
  • the content fingerprint address is generated according to the first content fingerprint and the address of the content distribution server 211 .
  • the content fingerprint address is formed by splicing the first content fingerprint and the address of the content distribution server 211.
  • the x bits in the content fingerprint address indicate the address of the content distribution server 211
  • the y bits in the content fingerprint address indicate the first content fingerprint.
  • the terminal device 230 can send the domain name of the content distribution server 211 to the domain name system server, the domain name system server parses the domain name of the content distribution server 211, and receives the content distribution server 211's domain name sent by the domain name system server. address.
  • the content fingerprint address is generated after the content distribution server 211 encrypts the first content fingerprint and the address of the content distribution server 211 by using an encryption algorithm.
  • the terminal device 230 can use a preset decryption algorithm to parse the content fingerprint address to obtain the first content fingerprint and the address of the content distribution server 211 .
  • the preset decryption algorithm is the same algorithm used when the content distribution server 211 generates the content fingerprint address.
  • the terminal device 230 sends the content fingerprint address and the address of the terminal device 230 to the content distribution server 211 .
  • the content distribution server 211 receives the content fingerprint address and the address of the terminal device 230 sent by the terminal device 230 .
  • the terminal device 230 sends the first content fingerprint and the address of the terminal device 230 to the content distribution server 211.
  • S604a The content distribution server 211 receives the first content fingerprint and the address of the terminal device 230 sent by the terminal device 230.
  • the content distribution server 211 determines the address of the content cache server 212 associated with the first content fingerprint according to the address of the terminal device 230 .
  • the content distribution server 211 may store the content fingerprint address, the correspondence between the content fingerprint and the address of the content cache server.
  • the content distribution server 211 receives the first content fingerprint or content fingerprint address sent by the terminal device 230, and determines the address of the content cache server 212 associated with the first content fingerprint according to the first content fingerprint or content fingerprint address query correspondence.
  • the content cache server 212 indicated by the address of the content cache server 212 stores the first content fingerprint and data associated with the first content fingerprint. example, as shown in Table 3.
  • the content distribution server 211 looks up the table to determine that the address of the content cache server 212 associated with content fingerprint 1 is address 1. If the content distribution server 211 receives the content fingerprint address 1, it looks up the table to determine that the content fingerprint address 1 corresponds to the content fingerprint 1, and the address of the content cache server 212 associated with the content fingerprint 1 is the address 1.
  • the content distribution server 211 looks up the table to determine that the addresses of the content cache server 212 associated with content fingerprint 2 include address 2, address 3 and address 4. It is understandable that the content distribution server 211 stores the data of content fingerprint 2 and content fingerprint 2 from the content cache server 212 indicated by address 2, address 3 and address 4.
  • the content distribution server 211 selects an optimal content caching server 212 from the content caching servers 212 indicated by address 2, address 3 and address 4 according to the address of the terminal device 230, and feeds back the address of the optimal content caching server 212 to the terminal device 230.
  • the optimal content caching server 212 may be the content caching server closest to the terminal device 230, or may be the content caching server with the fastest transmission speed. Assume that the best content cache server 212 is the content cache server 212 indicated by address 2 .
  • the terminal device 230 may acquire data from the content cache server 212 .
  • the content distribution server 211 sends the address of the content cache server 212 to the terminal device 230 .
  • the terminal device 230 receives the address of the content cache server 212 sent by the content distribution server 211.
  • the terminal device 230 sends the first content fingerprint to the content cache server indicated by the address of the content cache server 212.
  • the content cache server 212 receives the first content fingerprint sent by the terminal device 230.
  • the content cache server 212 determines data associated with the first content fingerprint according to the first content fingerprint.
  • the content cache server 212 stores content fingerprints and data associated with the content fingerprints.
  • the content cache server 212 may query the corresponding relationship according to the first content fingerprint to obtain data associated with the first content fingerprint.
  • the content cache server 212 sends the data associated with the first content fingerprint to the terminal device 230.
  • the terminal device 230 receives the data associated with the first content fingerprint sent by the content cache server 212.
  • the terminal device 230 displays the content expressed by the data.
  • the terminal device 230 can still obtain the data to be accessed according to the content fingerprint address or content fingerprint, so as to avoid the inability to query the data accessed by the terminal user and to feed back data to the terminal device. In this case, the data acquisition rate of the terminal device is improved.
  • the uniform resource locator may contain sensitive information such as file names, which may easily lead to information leakage.
  • the content fingerprint address and the content fingerprint indication data are used to avoid information leakage and improve data security.
  • Resource tampering is a method commonly used by hackers.
  • hackers can forge and tamper with the data of the Uniform Resource Locator, and what the user accesses by using the Uniform Resource Locator may not be the original content.
  • the terminal device 230 may further verify the acquired data.
  • the method also includes the following steps.
  • the terminal device 230 generates a second content fingerprint by using a hash algorithm.
  • the terminal device 230 determines whether the first content fingerprint and the second content fingerprint are the same.
  • the terminal device 230 determines that the data has not been tampered with.
  • the terminal device 230 determines that the data has been tampered with.
  • the terminal device 230 can verify whether the received data has been tampered with.
  • the data is fragmented data of the resource indicated by the uniform resource locator.
  • the video being watched by the end user is stuck, and the data that the end user needs to obtain is the fragmented data in the resource.
  • the terminal device 230 may acquire the fragmented data in the resource according to the above S601 to S617.
  • the terminal device 230 acquires the resource indicated by the uniform resource locator for the first time, it acquires, according to the uniform resource locator, the content fingerprint address of the resource including multiple pieces of data.
  • FIG. 9 is a flowchart of another method for acquiring data based on a content distribution network according to an embodiment of the present application.
  • the terminal device 230 obtains, according to the uniform resource locator, the content fingerprint address of the resource including multiple pieces of data.
  • the terminal device 230 traverses the content fingerprint addresses of a plurality of fragmented data, and for the content fingerprint addresses of each fragmented data, the terminal device 230 executes S602 to S617 until the content fingerprint addresses of all fragmented data are traversed, and obtains each of the resources.
  • Sharded data is a flowchart of another method for acquiring data based on a content distribution network according to an embodiment of the present application. The difference from the method shown in FIG. 6 above is that in S901 , the terminal device 230 obtains, according to the uniform resource locator, the content fingerprint address of the resource including multiple pieces of data.
  • the terminal device 230 traverses the content fingerprint addresses of a plurality of fragmented data, and for the content fingerprint
  • the terminal device 230 acquires fragmented data from multiple content cache servers 212 in parallel, thereby effectively improving the data acquisition efficiency of the terminal device 230 and breaking the bandwidth bottleneck of a single storage server.
  • the terminal device and the server include corresponding hardware structures and/or software modules for performing each function.
  • the units and method steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software-driven hardware depends on the specific application scenarios and design constraints of the technical solution.
  • FIG. 10 is a schematic structural diagram of a possible apparatus for acquiring data provided by an embodiment of the present application.
  • These apparatuses for acquiring data can be used to implement the functions of the terminal device in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
  • the apparatus for acquiring data may be the terminal device 230 as shown in FIG. 2 , or may be a module (eg, a chip) applied to the terminal device 230 .
  • the apparatus 1000 for acquiring data includes a communication module 1010 , an analysis content fingerprint address module 1020 and a display module 1030 .
  • the apparatus 1000 for acquiring data is used to implement the function of the terminal device 230 in the method embodiment shown in FIG. 6 , FIG. 8 or FIG. 9 .
  • the communication module 1010 is used to execute S601, S603 (or S603a), S607, S608 and S612;
  • the analysis content fingerprint address module 1020 is used to execute S602;
  • the display module 1030 is used to execute S613.
  • the communication module 1010 is used to execute S601, S603 (or S603a), S607, S608 and S612;
  • the analysis content fingerprint address module 1020 is used to execute S602;
  • the display module 1030 is used to execute S613.
  • the apparatus 1000 for acquiring data may further include a content fingerprint generation module 1040 and a decision module 1050 .
  • the generating content fingerprint module 1040 is used to execute S614; the decision module 1050 is used to execute S615 to S617.
  • the communication module 1010 is used to execute S901, S603 (or S603a), S607, S608 and S612;
  • the analysis content fingerprint address module 1020 is used to execute S602;
  • the display module 1030 is used to execute S613;
  • the content fingerprint generation module 1040 is used to execute S614;
  • the decision module 1050 is used to execute S615 to S617.
  • FIG. 11 is a schematic structural diagram of a possible apparatus for distributing data provided by an embodiment of the present application.
  • These apparatuses for distributing data can be used to implement the function of the content distribution server in the above method embodiments, and thus can also achieve the beneficial effects possessed by the above method embodiments.
  • the device for distributing data may be the content distribution server 211 as shown in FIG. 2 , or may be a module (eg, a chip) applied to the content distribution server 211 .
  • the apparatus 1100 for distributing data includes a communication module 1110 , a generation module 1120 and a content cache server address determination module 1130 .
  • the apparatus 1100 for distributing data is configured to implement the function of the content distribution server 211 in the method embodiment shown in FIG. 3 , FIG. 4 , FIG. 6 , FIG. 8 or FIG. 9 .
  • the communication module 1110 is used to execute S310 and S350; the generation module 1120 is used to execute S320 and S330; The address module 1130 is used to execute S340.
  • the communication module 1110 is used to execute S410 and S460; the generation module 1120 is used to execute S430 and S440; The address module 1130 is used to execute S450.
  • the apparatus 1100 for distributing data may further include a dividing module 1140 .
  • the dividing module 1140 is configured to perform S420.
  • the communication module 1110 is used to execute S604 (or S604a) and S606; determine the content cache server
  • the address module 1130 is used to execute S605.
  • the apparatus 1100 for distributing data further includes a storage module 1150, and the storage module 1150 is configured to cache the content fingerprint address, the correspondence between the content fingerprint and the address of the content cache server.
  • FIG. 12 is a schematic structural diagram of a possible apparatus for caching data provided by an embodiment of the present application. These apparatuses for caching data can be used to implement the function of the content caching server in the above method embodiments, so the beneficial effects of the above method embodiments can also be achieved.
  • the device for caching data may be the content caching server 212 shown in FIG. 2 , or may be a module (eg, a chip) applied to the content caching server 212 .
  • the apparatus 1200 for buffering data includes a communication module 1210 and a data determination module 1220 .
  • the apparatus 1200 for caching data is used to implement the function of the content caching server 212 in the method embodiment shown in FIG. 6 , FIG. 8 or FIG. 9 .
  • the communication module 120 is used for executing S609 and S611 ; the determining data module 1220 is used for executing S610 .
  • the apparatus 1200 for caching data further includes a storage module 1230, and the storage module 1230 is configured to cache content fingerprints and data associated with the content fingerprints.
  • the computer 1300 shown in FIG. 13 can be specifically used to implement the functions of the data acquisition apparatus 1000 in the embodiment shown in FIG. 10
  • the computer 1400 shown in FIG. 14 can be specifically used to implement the data distribution in the embodiment shown in FIG. 11
  • the computer 1500 shown in FIG. 15 can specifically be used to implement the functions of the apparatus 1200 for caching data in the embodiment shown in FIG. 12 above.
  • Computer 1300 includes bus 1301, processor 1302, communication interface 1303, memory 1304, and display 1305. Communication among the processor 1302 , the memory 1304 , the communication interface 1303 and the display 1305 is through the bus 1301 .
  • the bus 1301 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like.
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of presentation, only one thick line is used in FIG. 13, but it does not mean that there is only one bus or one type of bus.
  • the communication interface 1303 is used for external communication, such as receiving the content fingerprint address, the address and data of the content cache server, and the like.
  • the display 1305 may be a liquid crystal display (liquid crystal display, LCD) or an organic light-emitting display (Organic Light-Emitting Diode, OLED) or the like.
  • the processor 1302 may be a central processing unit (central processing unit, CPU).
  • Memory 1304 may include volatile memory, such as random access memory (RAM).
  • RAM random access memory
  • the memory 1304 may also include non-volatile memory, such as read-only memory (ROM), flash memory, HDD, or SSD.
  • Executable code is stored in the memory 1304, and the processor 1302 executes the executable code to execute the aforementioned method for acquiring data based on a content distribution network.
  • the memory 1304 stores and executes the analysis content fingerprint address module 1020 in FIG.
  • Computer 1400 includes bus 1401 , processor 1402 , communication interface 1403 and memory 1404 .
  • the processor 1402 , the memory 1404 and the communication interface 1403 communicate through the bus 1401 .
  • the memory 1404 stores and executes the generation module 1120 in FIG. 11 and determines the address of the content cache server.
  • the memory 1404 stores the content fingerprint address, the correspondence between the content fingerprint and the address of the content cache server.
  • the communication interface 1403 implements the function of the communication module 1110
  • the memory 1404 implements the function of the storage module 1150
  • the processor 1402 is used to execute the instructions in the memory 1404 and execute the method for obtaining data based on the content distribution network applied to the apparatus 1100 for distributing data.
  • Computer 1500 includes bus 1501 , processor 1502 , communication interface 1503 and memory 1504 .
  • the processor 1502 , the memory 1504 and the communication interface 1503 communicate through the bus 1501 .
  • the memory 1504 stores the software or software required to execute the function of the determination data module 1220 in FIG. 12 .
  • the program code, the communication interface 1503 realizes the function of the communication module 1201
  • the memory 1504 is used to store the content fingerprint and the data associated with the content fingerprint
  • the processor is used to execute the instructions in the memory 1504, and execute the content-based distribution applied to the device 1200 for caching data The method by which the network sends data.
  • Embodiments of the present application also provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the above-mentioned method for acquiring data based on a content distribution network applied to the apparatus 1000 for acquiring data.
  • Embodiments of the present application also provide a computer-readable storage medium, including instructions, which, when run on a computer, cause the computer to execute the above-mentioned method for obtaining data based on a content distribution network applied to the apparatus 1100 for distributing data.
  • Embodiments of the present application also provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the above-mentioned method for sending data based on a content distribution network applied to the apparatus 1200 for caching data.
  • Embodiments of the present application further provide a computer program product, and when the computer program product is executed by a computer, the computer executes any one of the foregoing methods.
  • the computer program product may be a software installation package, and when any one of the aforementioned methods needs to be used, the computer program product may be downloaded and executed on a computer.
  • the device embodiments described above are only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be A physical unit, which can be located in one place or distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be retrieved from a website, computer, training device, or data Transmission from the center to another website site, computer, training facility or data center via wired (eg coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.) means.
  • wired eg coaxial cable, fiber optic, digital subscriber line (DSL)
  • wireless eg infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a training device, a data center, or the like that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.

Abstract

The present application relates to the field of content delivery networks. Disclosed are a method and apparatus for obtaining data based on a content delivery network, solving the problem of how to quickly obtain accessed data. The method comprises: after the address of a content delivery server indicated by a content fingerprint address and a content fingerprint generated according to data to be accessed are obtained by a terminal device, obtaining the address of a content caching server from the content delivery server indicated by the address of the content delivery server, then obtaining data associated with the content fingerprint from the content caching server indicated by the address of the content caching server, and displaying a content expressed by the data.

Description

一种基于内容分发网络获取数据的方法及装置A method and device for acquiring data based on a content distribution network 技术领域technical field
本申请实施例涉及内容分发网络领域,尤其涉及一种基于内容分发网络获取数据的方法及装置。The embodiments of the present application relate to the field of content distribution networks, and in particular, to a method and apparatus for acquiring data based on a content distribution network.
背景技术Background technique
目前,为了解决互联网(internet)的网络拥塞状况,基于互联网部署了内容分发网络(content delivery network,CDN),其目的是将网站的数据缓存到内容分发网络中的内容缓存服务器,使终端用户就近获取到访问的数据,从而提高了终端用户访问网站的响应速度。图1为现有技术提供的一种内容分发网络的结构示意图。终端用户通过终端设备110安装的浏览器111或应用112访问网站提供的内容时,终端设备110向域名系统(domain name system,DNS)服务器120发送统一资源定位符(uniform resource locator,URL),域名系统服务器120解析统一资源定位符,向终端设备120反馈缓存集群130的网际互联协议(internet protocol,IP)地址。终端设备120向缓存集群130发送包含统一资源定位符的数据请求。缓存集群130包含多个内容缓存服务器131。缓存集群130内的内容缓存服务器131根据统一资源定位符查询其对应的数据。如果缓存集群130内的内容缓存服务器131缓存有终端设备110访问的数据,将数据反馈给终端设备110。如果缓存集群130内的内容缓存服务器131没有缓存终端设备110访问的数据,从提供数据的内容源140获取数据,并将数据反馈给终端设备110。但是,如果统一资源定位符失效或被修改了,即使内容缓存服务器存储有数据,内容缓存服务器也无法查询到终端用户访问的数据,无法向终端设备反馈数据。因此,终端设备如何能够快速地获取到访问的数据是一个亟待解决的问题。At present, in order to solve the network congestion situation of the Internet, a content delivery network (CDN) is deployed based on the Internet. Access data is obtained, thereby improving the response speed of end users accessing the website. FIG. 1 is a schematic structural diagram of a content distribution network provided in the prior art. When the terminal user accesses the content provided by the website through the browser 111 or the application 112 installed on the terminal device 110, the terminal device 110 sends a uniform resource locator (URL) to the domain name system (domain name system, DNS) server 120, the domain name The system server 120 parses the uniform resource locator, and feeds back the internet protocol (IP) address of the cache cluster 130 to the terminal device 120 . The terminal device 120 sends a data request including the uniform resource locator to the cache cluster 130 . The cache cluster 130 includes a plurality of content cache servers 131 . The content cache server 131 in the cache cluster 130 queries its corresponding data according to the uniform resource locator. If the content cache server 131 in the cache cluster 130 caches the data accessed by the terminal device 110 , the data is fed back to the terminal device 110 . If the content cache server 131 in the cache cluster 130 does not cache the data accessed by the terminal device 110 , the data is obtained from the content source 140 that provides the data, and the data is fed back to the terminal device 110 . However, if the uniform resource locator is invalid or modified, even if the content cache server stores data, the content cache server cannot query the data accessed by the end user, and cannot feed back the data to the terminal device. Therefore, how a terminal device can quickly acquire the accessed data is an urgent problem to be solved.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供一种基于内容分发网络获取数据的方法及装置,解决了如何能够快速地获取到访问的数据的问题。The embodiments of the present application provide a method and apparatus for acquiring data based on a content distribution network, which solves the problem of how to quickly acquire the accessed data.
第一方面,本申请提供了一种基于内容分发网络获取数据的方法,该方法可应用于终端设备,或者该方法可应用于可以支持终端设备实现该方法的获取数据的装置,例如该获取数据的装置包括芯片系统,方法包括:终端设备获取内容指纹地址指示的内容分发服务器的地址和第一内容指纹,从内容分发服务器获取内容缓存服务器的地址,进而从内容缓存服务器的地址指示的内容缓存服务器获取与第一内容指纹关联的数据,显示数据表达的内容。第一内容指纹是根据待访问的数据生成的。In a first aspect, the present application provides a method for acquiring data based on a content distribution network, the method can be applied to a terminal device, or the method can be applied to a device that can support a terminal device to implement the method for acquiring data, for example, the acquiring data The device comprises a chip system, and the method includes: the terminal device obtains the address of the content distribution server indicated by the content fingerprint address and the first content fingerprint, obtains the address of the content cache server from the content distribution server, and then obtains the address of the content cache server from the content cache server. The server acquires the data associated with the first content fingerprint, and displays the content expressed by the data. The first content fingerprint is generated from the data to be accessed.
由于内容指纹地址和内容指纹唯一地指示了一个数据。数据的内容指纹是随着数据改变而改变。数据更改时,内容指纹也会随之发送改变。数据不变时,内容指纹也 不会改变。在统一资源定位符失效或被修改了的情况下,终端设备仍可以根据内容指纹地址或内容指纹从内容缓存服务器中获取到要访问的数据,避免了无法查询到终端用户访问的数据,无法向终端设备反馈数据的情况,提高了终端设备获取数据的准确率以及速率。Since the content fingerprint address and the content fingerprint uniquely indicate a piece of data. The content fingerprint of the data changes as the data changes. When the data changes, the content fingerprint is also sent with changes. When the data does not change, the content fingerprint does not change. In the case that the uniform resource locator is invalid or modified, the terminal device can still obtain the data to be accessed from the content cache server according to the content fingerprint address or content fingerprint, so as to avoid the inability to query the data accessed by the end user and to send the The situation that the terminal equipment feeds back data improves the accuracy and rate of the terminal equipment acquiring data.
另外,统一资源定位符可能包含文件名等敏感信息,容易造成信息泄露。本实施例采用内容指纹地址和内容指纹指示数据,避免信息泄露,提高了数据的安全性。In addition, the uniform resource locator may contain sensitive information such as file names, which may easily lead to information leakage. In this embodiment, the content fingerprint address and the content fingerprint indication data are used to avoid information leakage and improve data security.
在一种可能的实现方式中,终端设备从内容指纹地址中获取第一内容指纹和内容分发服务器的地址后,向内容分发服务器发送内容指纹地址和终端设备的地址,或者,向内容分发服务器发送第一内容指纹和终端设备的地址;进而,接收内容分发服务器发送的内容缓存服务器的地址。从而,以便于终端设备从内容缓存服务器的地址指示的内容缓存服务器获取与第一内容指纹关联的数据。In a possible implementation manner, after acquiring the first content fingerprint and the address of the content distribution server from the content fingerprint address, the terminal device sends the content fingerprint address and the address of the terminal device to the content distribution server, or sends the content distribution server to the content distribution server. The first content fingerprint and the address of the terminal device; further, the address of the content cache server sent by the content distribution server is received. Therefore, it is convenient for the terminal device to obtain the data associated with the first content fingerprint from the content cache server indicated by the address of the content cache server.
具体的,终端设备向内容缓存服务器的地址指示的内容缓存服务器发送第一内容指纹;接收内容缓存服务器发送的与第一内容指纹关联的数据。从而,使得终端设备可以显示数据表达的内容。Specifically, the terminal device sends the first content fingerprint to the content cache server indicated by the address of the content cache server; and receives the data associated with the first content fingerprint sent by the content cache server. Thus, the terminal device can display the content expressed by the data.
资源篡改是黑客常用的一种方法,黑客可以对统一资源定位符的数据进行伪造篡改,用户使用统一资源定位符访问到的可能并不是原始的内容。本实施例还提供了一种验证数据的方法。具体的,从内容缓存服务器的地址指示的内容缓存服务器获取与第一内容指纹关联的数据之后,方法还包括:终端设备利用哈希算法生成第二内容指纹;当第一内容指纹和第二内容指纹相同时,终端设备确定数据未被篡改。从而,以便于终端设备依据数据的内容指纹验证获取到的数据是否被篡改,提示用户接收到的数据是否正确。Resource tampering is a method commonly used by hackers. Hackers can forge and tamper with the data of the Uniform Resource Locator, and what the user accesses by using the Uniform Resource Locator may not be the original content. This embodiment also provides a method for verifying data. Specifically, after acquiring the data associated with the first content fingerprint from the content cache server indicated by the address of the content cache server, the method further includes: the terminal device generates a second content fingerprint by using a hash algorithm; when the first content fingerprint and the second content fingerprint are When the fingerprints are the same, the terminal device determines that the data has not been tampered with. Therefore, it is convenient for the terminal device to verify whether the acquired data has been tampered with according to the content fingerprint of the data, and to prompt the user whether the received data is correct.
在另一种可能的实现方式中,在根据内容指纹地址从内容分发服务器获取内容缓存服务器的地址之前,方法还包括:终端设备根据数据的标识可以从内容分发网络中的其他服务器获取内容指纹地址。数据的标识为统一资源定位符或资源名称。例如,其他服务器可以是域名系统服务器。域名系统服务器存储有数据的标识与数据的内容指纹地址的对应关系。从而,以便于终端设备根据内容指纹地址获取内容分发服务器的地址和内容指纹。In another possible implementation manner, before obtaining the address of the content cache server from the content distribution server according to the content fingerprint address, the method further includes: the terminal device may obtain the content fingerprint address from other servers in the content distribution network according to the identification of the data . Data is identified as a Uniform Resource Locator or resource name. For example, other servers may be Domain Name System servers. The domain name system server stores the correspondence between the identifier of the data and the content fingerprint address of the data. Therefore, it is convenient for the terminal device to obtain the address and content fingerprint of the content distribution server according to the content fingerprint address.
可选的,在终端设备接收到来自用户的获取数据的指示后,根据数据的标识获取内容指纹地址。Optionally, after receiving the data acquisition instruction from the user, the terminal device acquires the content fingerprint address according to the data identifier.
在另一种可能的实现方式中,数据是统一资源定位符或资源名称指示的资源包含的分片数据;根据数据的标识获取内容指纹地址,包括:根据数据的标识获取资源包含的多个分片数据的内容指纹地址。如此,终端设备从多个内容缓存服务器获取分片数据,从而有效地提高了终端设备获取数据的效率,突破单个存储服务端的带宽瓶颈。In another possible implementation manner, the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name; obtaining a content fingerprint address according to an identifier of the data includes: obtaining a plurality of fragments included in the resource according to the identifier of the data The content fingerprint address of the slice data. In this way, the terminal device obtains fragmented data from multiple content cache servers, thereby effectively improving the efficiency of data acquisition by the terminal device and breaking through the bandwidth bottleneck of a single storage server.
第二方面,本申请提供了一种基于内容分发网络获取数据的方法,该方法可应用于内容分发服务器,或者该方法可应用于可以支持内容分发服务器实现该方法的分发数据的装置,例如该分发数据的装置包括芯片系统,方法包括:内容分发服务器接收终端设备发送的终端设备的地址和内容指纹地址,或者,接收终端设备发送的终端设备的地址和内容指纹后,根据终端设备的地址确定与内容指纹关联的内容缓存服务器的地址,向终端设备发送内容缓存服务器的地址。其中,内容指纹是根据待访问的数 据生成的,内容指纹地址用于指示内容指纹和内容分发服务器的地址。内容缓存服务器的地址指示的内容缓存服务器存储了数据和内容指纹。In a second aspect, the present application provides a method for acquiring data based on a content distribution network, the method can be applied to a content distribution server, or the method can be applied to a device that can support the content distribution server to implement the method for distributing data, such as this The device for distributing data includes a chip system, and the method includes: the content distribution server receives the address and content fingerprint address of the terminal device sent by the terminal device, or, after receiving the address and content fingerprint of the terminal device sent by the terminal device, determine according to the address of the terminal device. The address of the content cache server associated with the content fingerprint, and the address of the content cache server is sent to the terminal device. The content fingerprint is generated according to the data to be accessed, and the content fingerprint address is used to indicate the content fingerprint and the address of the content distribution server. The content cache server indicated by the address of the content cache server stores the data and the content fingerprint.
由于内容指纹地址和内容指纹唯一地指示了一个数据。在统一资源定位符失效或被修改了的情况下,内容分发服务器告知终端设备存储数据的内容存储服务器的地址,使得终端设备可以从内容缓存服务器的地址指示的内容缓存服务器获取与内容指纹关联的数据,避免了无法查询到终端用户访问的数据,无法向终端设备反馈数据的情况,提高了终端设备获取数据的准确率以及速率。Since the content fingerprint address and the content fingerprint uniquely indicate a piece of data. In the case that the Uniform Resource Locator is invalid or modified, the content distribution server informs the terminal device of the address of the content storage server where the data is stored, so that the terminal device can obtain the information associated with the content fingerprint from the content cache server indicated by the address of the content cache server. It avoids the situation that the data accessed by the terminal user cannot be queried, and the data cannot be fed back to the terminal device, thereby improving the accuracy and speed of the terminal device acquiring data.
在一种可能的实现方式中,方法还包括:内容分发服务器接收内容源发送的数据;根据数据生成内容指纹,以及生成内容指纹地址;根据内容指纹地址确定至少一个内容缓存服务器;向至少一个内容缓存服务器发送数据和内容指纹。In a possible implementation manner, the method further includes: the content distribution server receiving data sent by the content source; generating a content fingerprint according to the data, and generating a content fingerprint address; determining at least one content caching server according to the content fingerprint address; The cache server sends data and content fingerprints.
由于内容指纹地址是根据数据的内容指纹和内容分发服务器的地址生成的,内容指纹地址唯一地指示了一个数据。内容分发服务器根据内容指纹地址向同一个内容缓存服务器分发一份数据。可理解的,一个内容缓存服务器存储的不同的内容指纹对应的数据不同,同一个数据在不同的内容缓存服务器上的内容指纹是一样的。从而,克服了同一份数据对应的统一资源定位符不同的情况下,内容缓存服务器存储多份相同数据的缺点。避免了内容缓存服务器冗余存储,提高了内容缓存服务器的利用率。Since the content fingerprint address is generated based on the content fingerprint of the data and the address of the content distribution server, the content fingerprint address uniquely indicates a piece of data. The content distribution server distributes a piece of data to the same content cache server according to the content fingerprint address. It is understandable that the data corresponding to different content fingerprints stored by one content cache server are different, and the content fingerprints of the same data on different content cache servers are the same. Therefore, the disadvantage that the content cache server stores multiple copies of the same data when the uniform resource locators corresponding to the same piece of data are different is overcome. The redundant storage of the content cache server is avoided, and the utilization rate of the content cache server is improved.
在另一种可能的实现方式中,数据是统一资源定位符或资源名称指示的资源包含的分片数据;方法还包括:内容分发服务器将资源划分为多个分片数据,将每个分片数据与分片数据的内容指纹存储到至少一个内容缓存服务器。从而,以便于终端设备能够从多个内容缓存服务器同时获取数据,提高了终端设备获取数据的速率。In another possible implementation manner, the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name; the method further includes: the content distribution server divides the resource into multiple fragmented data, and each fragment is divided into multiple fragmented data. The content fingerprints of the data and fragmented data are stored to at least one content cache server. Therefore, it is convenient for the terminal device to acquire data from multiple content cache servers at the same time, which improves the rate at which the terminal device acquires data.
第三方面,本申请提供了一种基于内容分发网络发送数据的方法,该方法可应用于内容缓存服务器,或者该方法可应用于可以支持内容缓存服务器实现该方法的缓存数据的装置,例如该缓存数据的装置包括芯片系统,方法包括:内容缓存服务器接收终端设备发送的内容指纹,根据内容指纹确定与内容指纹关联的数据;并向终端设备发送与内容指纹关联的数据。内容指纹是根据待访问的数据生成的。In a third aspect, the present application provides a method for sending data based on a content distribution network, the method can be applied to a content cache server, or the method can be applied to a device that can support the content cache server to implement the method for caching data, such as this The device for caching data includes a chip system, and the method includes: a content caching server receives a content fingerprint sent by a terminal device, determines data associated with the content fingerprint according to the content fingerprint; and sends the data associated with the content fingerprint to the terminal device. Content fingerprints are generated from the data to be accessed.
由于内容指纹地址和内容指纹唯一地指示了一个数据。在统一资源定位符失效或被修改了的情况下,内容缓存服务器可以依据内容指纹确定用户要访问的数据,向终端设备发送与内容指纹关联的数据,避免了无法查询到终端用户访问的数据,无法向终端设备反馈数据的情况,提高了终端设备获取数据的准确率以及速率。Since the content fingerprint address and the content fingerprint uniquely indicate a piece of data. When the uniform resource locator is invalid or modified, the content cache server can determine the data to be accessed by the user according to the content fingerprint, and send the data associated with the content fingerprint to the terminal device, avoiding the inability to query the data accessed by the terminal user. In the case where data cannot be fed back to the terminal device, the accuracy and rate of data acquisition by the terminal device are improved.
在一种可能的实现方式中,数据是统一资源定位符或资源名称指示的资源包含的分片数据。In a possible implementation manner, the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name.
第四方面,本申请提供一种获取数据的装置,所述获取数据的装置包括用于执行第一方面或第一方面任一种可能实现方式中的方法的各个模块的功能。In a fourth aspect, the present application provides an apparatus for acquiring data, where the apparatus for acquiring data includes functions of each module for executing the method in the first aspect or any possible implementation manner of the first aspect.
第五方面,本申请提供一种分发数据的装置,所述分发数据的装置包括用于执行第二方面或第二方面任一种可能实现方式中的方法的各个模块的功能。In a fifth aspect, the present application provides an apparatus for distributing data, where the apparatus for distributing data includes the functions of each module for executing the method in the second aspect or any possible implementation manner of the second aspect.
第六方面,本申请提供一种缓存数据的装置,所述缓存数据的装置包括用于执行第三方面或第三方面任一种可能实现方式中的方法的各个模块的功能。In a sixth aspect, the present application provides an apparatus for caching data, where the apparatus for caching data includes the functions of each module for executing the method in the third aspect or any possible implementation manner of the third aspect.
第七方面,本申请提供一种计算机,所述计算机包括存储器和处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行第一方 面或第一方面任一种可能实现方式中的方法的各个模块的功能。In a seventh aspect, the present application provides a computer, the computer includes a memory and a processor, the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, the first aspect or The functions of each module of the method in any possible implementation manner of the first aspect.
第八方面,本申请提供一种计算机,所述计算机包括存储器和处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行第二方面或第二方面任一种可能实现方式中的方法的各个模块的功能。In an eighth aspect, the present application provides a computer, the computer includes a memory and a processor, the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, the second aspect or In the second aspect, the functions of each module of the method in any possible implementation manner.
第九方面,本申请提供一种计算机,所述计算机包括存储器和处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行第三方面或第三方面任一种可能实现方式中的方法的各个模块的功能。In a ninth aspect, the present application provides a computer, the computer includes a memory and a processor, the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, the third aspect or The third aspect is the function of each module of the method in any possible implementation manner.
第十方面,本申请提供一种计算机可读存储介质,包括计算机软件指令;当计算机软件指令在计算机中运行时,使得计算机执行如第一方面或第一方面可能的实现方式中任一项所述的方法。In a tenth aspect, the present application provides a computer-readable storage medium, including computer software instructions; when the computer software instructions are executed in a computer, the computer is made to execute the first aspect or any one of the possible implementations of the first aspect. method described.
第十一方面,本申请提供一种计算机可读存储介质,包括计算机软件指令;当计算机软件指令在计算机中运行时,使得计算机执行如第二方面或第二方面可能的实现方式中任一项所述的方法。In an eleventh aspect, the present application provides a computer-readable storage medium, comprising computer software instructions; when the computer software instructions are executed in a computer, the computer is made to execute any one of the second aspect or possible implementations of the second aspect the method described.
第十二方面,本申请提供一种计算机可读存储介质,包括计算机软件指令;当计算机软件指令在计算机中运行时,使得计算机执行如第三方面或第三方面可能的实现方式中任一项所述的方法。In a twelfth aspect, the present application provides a computer-readable storage medium, comprising computer software instructions; when the computer software instructions are executed in a computer, the computer is made to execute any one of the third aspect or possible implementations of the third aspect the method described.
第十三方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种实现方式所述的方法。In a thirteenth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, cause the computer to perform the method described in the first aspect or any one of the implementations of the first aspect.
第十四方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种实现方式所述的方法。In a fourteenth aspect, the present application provides a computer program product comprising instructions, which, when run on a computer, cause the computer to perform the method described in the second aspect or any one of the implementations of the second aspect.
第十五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第三方面或第三方面的任一种实现方式所述的方法。In a fifteenth aspect, the present application provides a computer program product comprising instructions, which, when run on a computer, cause the computer to perform the method described in the third aspect or any one of the implementation manners of the third aspect.
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。On the basis of the implementation manners provided by the above aspects, the present application may further combine to provide more implementation manners.
附图说明Description of drawings
图1为现有技术提供的一种内容分发网络的结构示意图;1 is a schematic structural diagram of a content distribution network provided by the prior art;
图2为本申请实施例提供的一种内容分发网络的结构示意图;2 is a schematic structural diagram of a content distribution network according to an embodiment of the present application;
图3为本申请实施例提供的一种分发数据的方法流程图;3 is a flowchart of a method for distributing data according to an embodiment of the present application;
图4为本申请实施例提供的另一种分发数据的方法流程图;4 is a flowchart of another method for distributing data provided by an embodiment of the present application;
图5为本申请实施例提供的一种数据内容的界面显示示意图;5 is a schematic diagram of an interface display of data content provided by an embodiment of the present application;
图6为本申请实施例提供的一种基于内容分发网络获取数据的方法的流程图;6 is a flowchart of a method for acquiring data based on a content distribution network provided by an embodiment of the present application;
图7为本申请实施例提供的另一种内容分发网络的结构示意图;7 is a schematic structural diagram of another content distribution network provided by an embodiment of the present application;
图8为本申请实施例提供的另一种基于内容分发网络获取数据的方法的流程图;8 is a flowchart of another method for acquiring data based on a content distribution network provided by an embodiment of the present application;
图9为本申请实施例提供的另一种基于内容分发网络获取数据的方法的流程图;9 is a flowchart of another method for acquiring data based on a content distribution network provided by an embodiment of the present application;
图10为本申请实施例提供的一种获取数据的装置的结构示意图;10 is a schematic structural diagram of an apparatus for acquiring data according to an embodiment of the present application;
图11为本申请实施例提供的一种分发数据的装置的结构示意图;11 is a schematic structural diagram of an apparatus for distributing data according to an embodiment of the present application;
图12为本申请实施例提供的一种缓存数据的装置的结构示意图;12 is a schematic structural diagram of an apparatus for caching data provided by an embodiment of the present application;
图13为本申请实施例提供的一种计算机的结构示意图;13 is a schematic structural diagram of a computer according to an embodiment of the present application;
图14为本申请实施例提供的另一种计算机的结构示意图;14 is a schematic structural diagram of another computer provided by an embodiment of the present application;
图15为本申请实施例提供的另一种计算机的结构示意图。FIG. 15 is a schematic structural diagram of another computer provided by an embodiment of the present application.
具体实施方式detailed description
本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。The terms "first", "second" and "third" in the description and claims of the present application and the above drawings are used to distinguish different objects, rather than to limit a specific order.
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。In the embodiments of the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations or illustrations. Any embodiments or designs described in the embodiments of the present application as "exemplary" or "such as" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present the related concepts in a specific manner.
“多个”是指两个或两个以上,其它量词与之类似。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。再者,至少一个(at least one of).......”意味着后续关联对象中的一个或任意组合,例如“A、B和C中的至少一个”包括A,B,C,AB,AC,BC,或ABC。"Plurality" means two or more, and other quantifiers are similar. "And/or" describes the association relationship between associated objects, indicating that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist at the same time, and B exists alone. Furthermore, occurrences of the singular forms "a", "an" and "the" do not mean "one or only one" unless the context clearly dictates otherwise, but rather "one or more" in one". For example, "a device" means to one or more such devices. Furthermore, at least one (at least one of)...." means one or any combination of subsequent associated objects, for example "at least one of A, B and C" includes A, B, C, AB, AC, BC, or ABC.
下面将结合附图对本申请实施例的实施方式进行详细描述。The implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings.
图2示出的是可以应用于本申请实施例的内容分发网络的架构示例图。如图2所示,该内容分发网络包括多个缓存集群210。缓存集群210包括内容分发服务器211和多个内容缓存服务器212。内容分发服务器211与多个内容缓存服务器212连接。通常,可以根据地理范围的大小部署缓存集群。例如,以区的范围部署一个缓存集群210,该区的范围内的终端设备可以从该缓存集群210中的内容缓存服务器212获取数据。又如,以市的范围部署一个缓存集群210,该市的范围内的终端设备可以从该缓存集群210中的内容缓存服务器212获取数据。如果地理范围较大,可以部署多级缓存集群,多级缓存集群依次连接。例如,区的范围内的缓存集群210中的内容分发服务器211可以与市的范围内缓存集群210中的内容分发服务器211连接。图2只是示意图,该内容分发网络中还可以包括其它设备,如还可以包括内容分发网络的配置中心、路由器和交换机等,在图2中未画出。本申请的实施例对该内容分发网络中包括的缓存集群、内容分发服务器和内容缓存服务器的数量不做限定。FIG. 2 shows an exemplary diagram of an architecture of a content distribution network that can be applied to this embodiment of the present application. As shown in FIG. 2 , the content distribution network includes a plurality of cache clusters 210 . The cache cluster 210 includes a content distribution server 211 and a plurality of content cache servers 212 . The content distribution server 211 is connected to a plurality of content cache servers 212 . Typically, a cache cluster can be deployed based on the size of the geographic extent. For example, a cache cluster 210 is deployed in the range of a zone, and terminal devices within the range of the zone can obtain data from the content cache server 212 in the cache cluster 210 . For another example, a cache cluster 210 is deployed within the scope of a city, and terminal devices within the scope of the city can obtain data from the content cache server 212 in the cache cluster 210 . If the geographic scope is large, you can deploy multi-level cache clusters, and the multi-level cache clusters are connected in sequence. For example, a content distribution server 211 in a cache cluster 210 within a district may be connected to a content distribution server 211 in a cache cluster 210 within a city. FIG. 2 is only a schematic diagram, and the content distribution network may also include other devices, such as a configuration center, routers, and switches of the content distribution network, which are not shown in FIG. 2 . The embodiments of the present application do not limit the number of cache clusters, content distribution servers, and content cache servers included in the content distribution network.
内容分发服务器211用于将从内容源220获取的数据分发到至少一个内容缓存服务器212,由至少一个内容缓存服务器212存储该数据,以便于终端设备230从最佳的内容缓存服务器212尽可能快速地获取到访问的数据。最佳的内容缓存服务器212可能是距离终端设备230最近的服务器,也可能是缓存集群210中传输速度最快的服务器。内容源220可以是资源提供商的服务器,或者可以是其他缓存集群210中的内容缓存服务器212。The content distribution server 211 is used for distributing the data acquired from the content source 220 to at least one content caching server 212, and the data is stored by the at least one content caching server 212, so that the terminal device 230 can obtain the data from the best content caching server 212 as quickly as possible to obtain the accessed data. The optimal content cache server 212 may be the server closest to the terminal device 230 , or may be the server with the fastest transmission speed in the cache cluster 210 . The content source 220 may be a resource provider's server, or may be a content cache server 212 in another cache cluster 210 .
图3为本申请实施例提供的一种基于内容分发网络分发数据的方法流程图。FIG. 3 is a flowchart of a method for distributing data based on a content distribution network according to an embodiment of the present application.
S310、内容分发服务器211接收内容源220发送的数据。S310 , the content distribution server 211 receives the data sent by the content source 220 .
内容分发服务器211接收到的数据可以是内容源220主动发送给内容分发服务器 211的。可选的,内容分发服务器211接收到的数据是内容分发服务器211主动向内容源220发送请求消息后,接收到的内容源220发送的数据。The data received by the content distribution server 211 may be actively sent by the content source 220 to the content distribution server 211. Optionally, the data received by the content distribution server 211 is the received data sent by the content source 220 after the content distribution server 211 actively sends a request message to the content source 220 .
S320、内容分发服务器211生成数据的内容指纹。S320. The content distribution server 211 generates a content fingerprint of the data.
内容指纹是利用哈希算法(如:MD5)将数据生成的一串字母和数字。内容指纹唯一地指示了生成该内容指纹的数据。数据的内容指纹是随着数据改变而改变。数据更改时,内容指纹也会随之发送改变。例如,内容指纹可以是5971bed8bbe98aacca48acc93eaf58d4。A content fingerprint is a string of letters and numbers generated from data using a hash algorithm (eg: MD5). A content fingerprint uniquely indicates the data that generated the content fingerprint. The content fingerprint of the data changes as the data changes. When the data changes, the content fingerprint is also sent with changes. For example, the content fingerprint could be 5971bed8bbe98aacca48acc93eaf58d4.
S330、内容分发服务器211生成数据的内容指纹地址。S330. The content distribution server 211 generates a content fingerprint address of the data.
内容指纹地址是包含内容指纹的可查询地址。A content fingerprint address is a queryable address that contains a content fingerprint.
在一些可能的实现方式中,内容分发服务器211可以根据内容指纹和内容分发服务器211的地址生成内容指纹地址。例如,内容分发服务器211将内容指纹和内容分发服务器211的地址拼接生成内容指纹地址。例如,内容指纹地址是http://192.168.100.101:8090/resourcePeers?resourceId=5971bed8bbe98aacca48acc93eaf58d4。其中,192.168.100.101:8090表示内容分发服务器211的地址,5971bed8bbe98aacca48acc93eaf58d4表示内容指纹。In some possible implementations, the content distribution server 211 may generate the content fingerprint address according to the content fingerprint and the address of the content distribution server 211 . For example, the content distribution server 211 splices the content fingerprint and the address of the content distribution server 211 to generate the content fingerprint address. For example, the content fingerprint address is http://192.168.100.101:8090/resourcePeers? resourceId=5971bed8bbe98aacca48acc93eaf58d4. Among them, 192.168.100.101:8090 represents the address of the content distribution server 211, and 5971bed8bbe98aacca48acc93eaf58d4 represents the content fingerprint.
在另一些可能的实现方式中,内容分发服务器211可以根据内容指纹和内容分发服务器211的域名生成内容指纹地址。例如,内容分发服务器211将内容指纹和内容分发服务器211的域名拼接生成内容指纹地址。又如,内容指纹地址是http://ept.ipcdn.huaweicloud.com:8090/resourcePeers?resourceId=5971bed8bbe98aacca48acc93eaf58d4。其中,ept.ipcdn.huaweicloud.com:8090表示内容分发服务器211的域名,5971bed8bbe98aacca48acc93eaf表示内容指纹。In some other possible implementation manners, the content distribution server 211 may generate the content fingerprint address according to the content fingerprint and the domain name of the content distribution server 211 . For example, the content distribution server 211 splices the content fingerprint and the domain name of the content distribution server 211 to generate the content fingerprint address. For another example, the content fingerprint address is http://ept.ipcdn.huaweicloud.com:8090/resourcePeers? resourceId=5971bed8bbe98aacca48acc93eaf58d4. Wherein, ept.ipcdn.huaweicloud.com:8090 represents the domain name of the content distribution server 211, and 5971bed8bbe98aacca48acc93eaf represents the content fingerprint.
又如,内容分发服务器211利用加密算法将内容指纹和内容分发服务器211的地址进行加密后,生成内容指纹地址。For another example, the content distribution server 211 uses an encryption algorithm to encrypt the content fingerprint and the address of the content distribution server 211 to generate the content fingerprint address.
可选的,内容分发服务器211将生成的内容指纹地址发布到互联网(如:网站、应用商城等)的服务器。由互联网上的服务器存储资源名称与内容指纹地址的对应关系,或者存储内容的统一资源定位符与内容指纹地址的对应关系。Optionally, the content distribution server 211 publishes the generated content fingerprint address to a server on the Internet (eg, a website, an application store, etc.). The server on the Internet stores the corresponding relationship between the resource name and the content fingerprint address, or stores the corresponding relationship between the content uniform resource locator and the content fingerprint address.
可选的,内容分发服务器211将生成的内容指纹地址发布到域名系统服务器,由域名系统服务器存储内容的统一资源定位符与内容指纹地址的对应关系,或者存储资源名称与内容指纹地址的对应关系。Optionally, the content distribution server 211 publishes the generated content fingerprint address to the domain name system server, and the domain name system server stores the corresponding relationship between the content uniform resource locator and the content fingerprint address, or stores the corresponding relationship between the resource name and the content fingerprint address. .
S340、内容分发服务器211根据内容指纹地址确定至少一个内容缓存服务器212。S340: The content distribution server 211 determines at least one content cache server 212 according to the content fingerprint address.
内容分发服务器211可以根据负载均衡(load balancing)技术确定至少一个内容缓存服务器212,使每个内容缓存服务器212存储其所能负载的最佳配比的数据量的数据。The content distribution server 211 may determine at least one content cache server 212 according to a load balancing technology, so that each content cache server 212 stores data of an optimally matched amount of data that it can load.
S350、内容分发服务器211向至少一个内容缓存服务器212发送数据和内容指纹。S350: The content distribution server 211 sends the data and the content fingerprint to at least one content cache server 212.
至少一个内容缓存服务器212中的每个内容缓存服务器212存储内容分发服务器211发送的数据和内容指纹。Each of the at least one content caching server 212 stores data and content fingerprints sent by the content distribution server 211 .
在一些实施例中,至少一个内容缓存服务器212包含了缓存集群210中的所有内容缓存服务器212。可理解的,内容分发服务器211根据内容指纹地址确定缓存集群210中的所有内容缓存服务器212,将数据和内容指纹分发到缓存集群210中的所有内 容缓存服务器212,缓存集群210中的每个内容缓存服务器212存储数据和内容指纹。In some embodiments, at least one content cache server 212 includes all content cache servers 212 in the cache cluster 210 . Understandably, the content distribution server 211 determines all the content cache servers 212 in the cache cluster 210 according to the content fingerprint addresses, distributes the data and content fingerprints to all the content cache servers 212 in the cache cluster 210, and caches each content in the cache cluster 210. The cache server 212 stores data and content fingerprints.
在另一些实施例中,至少一个内容缓存服务器212包含了缓存集群210中的部分内容缓存服务器212。可理解的,内容分发服务器211根据内容指纹地址确定缓存集群210中的部分内容缓存服务器212,将数据和内容指纹分发到缓存集群210中的部分内容缓存服务器212,缓存集群210中的部分内容缓存服务器212存储数据和内容指纹。In other embodiments, the at least one content cache server 212 includes a portion of the content cache servers 212 in the cache cluster 210 . Understandably, the content distribution server 211 determines some content cache servers 212 in the cache cluster 210 according to the content fingerprint addresses, distributes data and content fingerprints to some content cache servers 212 in the cache cluster 210, and caches some content in the cache cluster 210. Server 212 stores data and content fingerprints.
由于内容指纹地址是根据数据的内容指纹和内容分发服务器211的地址生成的,内容指纹地址和内容指纹唯一地指示了一个数据。内容分发服务器211根据内容指纹地址向同一个内容缓存服务器212分发一份数据。可理解的,一个内容缓存服务器212存储的不同的内容指纹对应的数据不同,同一个数据在不同的内容缓存服务器212上的内容指纹是一样的。从而,克服了同一份数据对应的统一资源定位符不同的情况下,存储多份相同数据的缺点。避免了内容缓存服务器冗余存储,提高了内容缓存服务器的利用率。Since the content fingerprint address is generated based on the content fingerprint of the data and the address of the content distribution server 211, the content fingerprint address and the content fingerprint uniquely indicate a piece of data. The content distribution server 211 distributes a piece of data to the same content cache server 212 according to the content fingerprint address. It is understandable that the data corresponding to different content fingerprints stored by one content cache server 212 is different, and the content fingerprints of the same data on different content cache servers 212 are the same. Therefore, the disadvantage of storing multiple copies of the same data when the uniform resource locators corresponding to the same piece of data are different is overcome. The redundant storage of the content cache server is avoided, and the utilization rate of the content cache server is improved.
在另一种可能的实现方式中,如果内容分发服务器211从内容源220获取到的资源的数据量较大,可以将该资源划分为多个分片数据,分别向多个内容缓存服务器212分发每个分片数据。图4为本申请实施例提供的另一种基于内容分发网络分发数据的方法流程图。与上述图3所示的方法区别在于,内容分发服务器211接收到内容源220发送的资源(执行S410)后,内容分发服务器211将资源划分为多个分片数据(执行S420)。例如,内容分发服务器211根据内容大小或者资源类型划分资源,得到多个分片数据。例如,内容分发服务器211以1兆(megabytes,M)的数据量为单位划分视频类文件。例如,内容分发服务器211以2M的数据量为单位划分安卓应用程序包(android application package,APK)。进而,内容分发服务器211遍历划分得到的分片数据,对于每个分片数据,内容分发服务器211执行S430至S460,直到遍历了所有分片数据,将每个分片数据存储到多个内容缓存服务器212。In another possible implementation manner, if the data volume of the resource acquired by the content distribution server 211 from the content source 220 is relatively large, the resource may be divided into multiple pieces of data and distributed to the multiple content cache servers 212 respectively. data per shard. FIG. 4 is a flowchart of another method for distributing data based on a content distribution network according to an embodiment of the present application. The difference from the method shown in FIG. 3 is that after the content distribution server 211 receives the resource sent by the content source 220 (execute S410 ), the content distribution server 211 divides the resource into multiple pieces of data (execute S420 ). For example, the content distribution server 211 divides resources according to content size or resource type, and obtains multiple pieces of data. For example, the content distribution server 211 divides the video file in units of a data amount of 1 megabytes (M). For example, the content distribution server 211 divides an Android application package (android application package, APK) with a data volume of 2M as a unit. Further, the content distribution server 211 traverses the segmented data obtained by division, and for each segmented data, the content distribution server 211 executes S430 to S460 until all segmented data is traversed, and stores each segmented data in multiple content caches server 212.
S430、内容分发服务器211生成分片数据的内容指纹。S430. The content distribution server 211 generates a content fingerprint of the fragmented data.
S440、内容分发服务器211生成分片数据的内容指纹地址。S440. The content distribution server 211 generates a content fingerprint address of the fragmented data.
S450、内容分发服务器211根据分片数据的内容指纹地址确定至少一个内容缓存服务器212。S450. The content distribution server 211 determines at least one content cache server 212 according to the content fingerprint address of the fragmented data.
S460、内容分发服务器211向至少一个内容缓存服务器212发送分片数据和分片数据的内容指纹。S460: The content distribution server 211 sends the fragmented data and the content fingerprint of the fragmented data to at least one content cache server 212.
关于S430至S460的解释可以参考上述S320至S350的阐述。For the explanation of S430 to S460, reference may be made to the explanation of S320 to S350 above.
从而,以便于终端设备能够从多个内容缓存服务器212同时获取数据,提高了终端设备获取数据的速率。Therefore, it is convenient for the terminal device to acquire data from multiple content cache servers 212 at the same time, which improves the rate at which the terminal device acquires data.
可选的,内容分发服务器211也可以存储数据和数据的内容指纹,也就是可以将内容分发服务器211的功能部署在缓存集群210中的任意一个内容缓存服务器212上。Optionally, the content distribution server 211 may also store data and content fingerprints of the data, that is, the functions of the content distribution server 211 may be deployed on any content cache server 212 in the cache cluster 210 .
终端设备230也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制 (industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。The terminal device 230 may also be referred to as a terminal (terminal), a user equipment (UE), a mobile station (mobile station, MS), a mobile terminal (mobile terminal, MT), and the like. The terminal device can be a mobile phone (mobile phone), a tablet computer (Pad), a computer with wireless transceiver function, a virtual reality (Virtual Reality, VR) terminal device, an augmented reality (Augmented Reality, AR) terminal device, industrial control (industrial control) wireless terminals in ), wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grid, wireless terminals in transportation safety Terminals, wireless terminals in smart cities, wireless terminals in smart homes, and so on. The embodiments of the present application do not limit the specific technology and specific device form adopted by the terminal device.
如图2所示,终端设备230安装有客户端(如:浏览器231或应用232)。客户端(client)也可以称为用户端,与服务器相对应,为用户提供本地服务的程序。客户端的界面可以显示各种内容(如:视频、新闻、图片等)。终端用户可以点击客户端的界面,终端设备230向内容分发网络发送请求消息,获取数据并利用显示器显示数据表达的内容。As shown in FIG. 2 , the terminal device 230 is installed with a client (eg, a browser 231 or an application 232 ). The client (client) can also be called the client, which corresponds to the server and provides local services to users. The interface of the client can display various contents (such as videos, news, pictures, etc.). The terminal user can click on the interface of the client, and the terminal device 230 sends a request message to the content distribution network, acquires the data, and uses the display to display the content expressed by the data.
例如,如图5中的(a)所示,如果终端用户在搜索框中搜索到关于明星A的视频,浏览器231的界面上显示关于明星A的多个视频。用户可以点击浏览器231的界面上显示的明星A的视频4(501),终端设备230响应终端用户的点击操作,浏览器231的界面上还可以显示明星A的视频4的内容指纹地址,并向内容分发网络发送请求消息,获取明星A的视频4的资源。明星A的视频4的内容指纹地址包括内容分发网络的地址和明星A的视频4的内容指纹。如图5中的(b)所示,终端设备230获取到明星A的视频4的资源后,终端设备230的显示界面显示播放明星A的视频4的内容(502)。For example, as shown in (a) of FIG. 5 , if the end user searches for a video about star A in the search box, a plurality of videos about star A are displayed on the interface of the browser 231 . The user can click on the video 4 of the star A displayed on the interface of the browser 231 (501), the terminal device 230 responds to the click operation of the terminal user, and the content fingerprint address of the video 4 of the star A can also be displayed on the interface of the browser 231, and Send a request message to the content distribution network to obtain the resources of Star A's video 4. The content fingerprint address of the video 4 of star A includes the address of the content distribution network and the content fingerprint of the video 4 of star A. As shown in (b) of FIG. 5 , after the terminal device 230 acquires the resource of the video 4 of the star A, the display interface of the terminal device 230 displays the content of the video 4 of the star A (502).
又如,如图5中的(c)所示,终端用户点击应用232界面上显示的视频503。此时,应用界面可以不显示视频503的内容指纹地址。终端设备230响应用户的点击操作,向内容分发网络发送请求消息,获取视频的资源。如图5中的(d)所示,终端设备230的显示界面显示播放视频的内容。For another example, as shown in (c) of FIG. 5 , the end user clicks on the video 503 displayed on the interface of the application 232 . At this time, the application interface may not display the content fingerprint address of the video 503 . The terminal device 230 responds to the user's click operation, and sends a request message to the content distribution network to obtain video resources. As shown in (d) of FIG. 5 , the display interface of the terminal device 230 displays the content of the playing video.
内容分发网络还可以包括控制服务器,由控制服务器确定内容分发网络中的一个缓存集群,向终端设备230反馈缓存集群210的地址。控制服务器指示的缓存集群210可以是距离终端设备230最近的缓存集群,也可能是传输速度最快的缓存集群。在控制服务器指示的缓存集群210中的内容分发服务器211,终端设备230根据内容指纹地址获取内容缓存服务器212的地址,从内容缓存服务器212的地址指示的内容缓存服务器212获取与内容指纹关联的数据。The content distribution network may further include a control server, the control server determines a cache cluster in the content distribution network, and feeds back the address of the cache cluster 210 to the terminal device 230 . The cache cluster 210 indicated by the control server may be the cache cluster closest to the terminal device 230, or may be the cache cluster with the fastest transmission speed. In the content distribution server 211 in the cache cluster 210 indicated by the control server, the terminal device 230 obtains the address of the content cache server 212 according to the content fingerprint address, and obtains the data associated with the content fingerprint from the content cache server 212 indicated by the address of the content cache server 212 .
接下来,结合图6至图9对终端设备获取数据的方法进行详细阐述。Next, a method for acquiring data by a terminal device will be described in detail with reference to FIG. 6 to FIG. 9 .
图6为本申请实施例提供的一种基于内容分发网络获取数据的方法的流程图。FIG. 6 is a flowchart of a method for acquiring data based on a content distribution network according to an embodiment of the present application.
S601、终端设备230根据数据的标识获取内容指纹地址。S601. The terminal device 230 obtains the content fingerprint address according to the identifier of the data.
数据的标识可以是统一资源定位符(uniform resource locator,URL)或资源名称。终端用户点击显示界面显示的内容,终端设备230响应终端用户的点击操作,根据数据的标识获取内容指纹地址。统一资源定位符是因特网的万维网服务程序上用于指定信息位置的表示方法。终端设备230可以根据数据的标识从图7所示的其他服务器240获取内容指纹地址。其他服务器240可以是互联网上的服务器(如:网站、应用商城等)或域名系统服务器。The identification of the data can be a uniform resource locator (uniform resource locator, URL) or a resource name. The terminal user clicks on the content displayed on the display interface, and the terminal device 230 responds to the click operation of the terminal user and obtains the content fingerprint address according to the identifier of the data. A Uniform Resource Locator is a representation on the Internet's World Wide Web Services for specifying the location of information. The terminal device 230 may obtain the content fingerprint address from the other server 240 shown in FIG. 7 according to the identification of the data. Other servers 240 may be servers on the Internet (eg, websites, application malls, etc.) or domain name system servers.
在一些实施例中,互联网上的服务器存储资源名称与内容指纹地址的对应关系。终端设备230可以向互联网上的服务器发送资源名称,接收互联网上的服务器发送的资源名称对应的内容指纹地址。如表1所示。In some embodiments, a server on the Internet stores the correspondence between resource names and content fingerprint addresses. The terminal device 230 may send the resource name to the server on the Internet, and receive the content fingerprint address corresponding to the resource name sent by the server on the Internet. As shown in Table 1.
表1Table 1
Figure PCTCN2021119446-appb-000001
Figure PCTCN2021119446-appb-000001
由表1可知,资源名称1对应的内容指纹地址为内容指纹地址1。资源名称2对应的内容指纹地址为内容指纹地址2。资源名称3对应的内容指纹地址为内容指纹地址3。As can be seen from Table 1, the content fingerprint address corresponding to resource name 1 is content fingerprint address 1. The content fingerprint address corresponding to resource name 2 is content fingerprint address 2 . The content fingerprint address corresponding to resource name 3 is content fingerprint address 3 .
假设终端设备230发送的数据的标识为资源名称2,终端设备230可以获取到内容指纹地址2。Assuming that the identifier of the data sent by the terminal device 230 is the resource name 2, the terminal device 230 can obtain the content fingerprint address 2.
在另一些实施例中,域名系统服务器存储统一资源定位符与内容指纹地址的对应关系。终端设备230可以向域名系统服务器发送内容的统一资源定位符,接收域名系统服务器发送的内容的统一资源定位符对应的内容指纹地址。如表2所示。In other embodiments, the DNS server stores the correspondence between the uniform resource locator and the content fingerprint address. The terminal device 230 may send the content uniform resource locator to the domain name system server, and receive the content fingerprint address corresponding to the content uniform resource locator sent by the domain name system server. As shown in table 2.
表2Table 2
Figure PCTCN2021119446-appb-000002
Figure PCTCN2021119446-appb-000002
由表2可知,统一资源定位符1对应的内容指纹地址为内容指纹地址1。统一资源定位符2对应的内容指纹地址为内容指纹地址2。统一资源定位符3对应的内容指纹地址为内容指纹地址3。It can be seen from Table 2 that the content fingerprint address corresponding to the uniform resource locator 1 is the content fingerprint address 1. The content fingerprint address corresponding to the uniform resource locator 2 is the content fingerprint address 2 . The content fingerprint address corresponding to the uniform resource locator 3 is the content fingerprint address 3 .
假设终端设备230发送的数据的标识为统一资源定位符2,终端设备230可以获取到内容指纹地址2。Assuming that the identifier of the data sent by the terminal device 230 is the uniform resource locator 2, the terminal device 230 can obtain the content fingerprint address 2.
可选的,内容指纹地址也可以嵌入在统一资源定位符中。终端设备230可以从数据的统一资源定位符中获取数据的内容指纹地址。Optionally, the content fingerprint address can also be embedded in the Uniform Resource Locator. The terminal device 230 can obtain the content fingerprint address of the data from the uniform resource locator of the data.
可选的,终端设备230接收到来自终端用户的获取数据的指示后,终端设备230根据数据的标识获取内容指纹地址。Optionally, after the terminal device 230 receives the data acquisition instruction from the terminal user, the terminal device 230 acquires the content fingerprint address according to the data identifier.
S602、终端设备230从内容指纹地址中获取第一内容指纹和内容分发服务器211的地址。S602. The terminal device 230 acquires the first content fingerprint and the address of the content distribution server 211 from the content fingerprint address.
内容指纹地址是根据第一内容指纹和内容分发服务器211的地址生成的。在一种可能的实现方式中,内容指纹地址是由第一内容指纹和内容分发服务器211的地址拼 接而成。例如,内容指纹地址中的x比特指示内容分发服务器211的地址,内容指纹地址中的y比特指示第一内容指纹。具体解释可以参考S330的阐述。The content fingerprint address is generated according to the first content fingerprint and the address of the content distribution server 211 . In a possible implementation manner, the content fingerprint address is formed by splicing the first content fingerprint and the address of the content distribution server 211. For example, the x bits in the content fingerprint address indicate the address of the content distribution server 211, and the y bits in the content fingerprint address indicate the first content fingerprint. For a specific explanation, reference may be made to the description of S330.
可选的,如果内容指纹地址是根据第一内容指纹和内容分发服务器211的域名生成的。终端设备230在获取到内容分发服务器211的域名后,可以向域名系统服务器发送内容分发服务器211的域名,由域名系统服务器解析内容分发服务器211的域名,接收域名系统服务器发送的内容分发服务器211的地址。Optionally, if the content fingerprint address is generated according to the first content fingerprint and the domain name of the content distribution server 211 . After acquiring the domain name of the content distribution server 211, the terminal device 230 can send the domain name of the content distribution server 211 to the domain name system server, the domain name system server parses the domain name of the content distribution server 211, and receives the content distribution server 211's domain name sent by the domain name system server. address.
在一种可能的实现方式中,内容指纹地址是内容分发服务器211利用加密算法将第一内容指纹和内容分发服务器211的地址加密后生成的。终端设备230可以利用预置的解密算法解析内容指纹地址,获取第一内容指纹和内容分发服务器211的地址。预置的解密算法是与内容分发服务器211生成内容指纹地址时使用的相同的算法。In a possible implementation manner, the content fingerprint address is generated after the content distribution server 211 encrypts the first content fingerprint and the address of the content distribution server 211 by using an encryption algorithm. The terminal device 230 can use a preset decryption algorithm to parse the content fingerprint address to obtain the first content fingerprint and the address of the content distribution server 211 . The preset decryption algorithm is the same algorithm used when the content distribution server 211 generates the content fingerprint address.
S603、终端设备230向内容分发服务器211发送内容指纹地址和终端设备230的地址。S603 , the terminal device 230 sends the content fingerprint address and the address of the terminal device 230 to the content distribution server 211 .
S604、内容分发服务器211接收终端设备230发送的内容指纹地址和终端设备230的地址。S604 , the content distribution server 211 receives the content fingerprint address and the address of the terminal device 230 sent by the terminal device 230 .
可选的,S603a、终端设备230向内容分发服务器211发送第一内容指纹和终端设备230的地址。S604a、内容分发服务器211接收终端设备230发送的第一内容指纹和终端设备230的地址。Optionally, in S603a, the terminal device 230 sends the first content fingerprint and the address of the terminal device 230 to the content distribution server 211. S604a: The content distribution server 211 receives the first content fingerprint and the address of the terminal device 230 sent by the terminal device 230.
S605、内容分发服务器211根据终端设备230的地址确定与第一内容指纹关联的内容缓存服务器212的地址。S605 , the content distribution server 211 determines the address of the content cache server 212 associated with the first content fingerprint according to the address of the terminal device 230 .
内容分发服务器211可以存储有内容指纹地址、内容指纹和内容缓存服务器的地址的对应关系。内容分发服务器211接收到终端设备230发送的第一内容指纹或内容指纹地址,根据第一内容指纹或内容指纹地址查询对应关系确定与第一内容指纹关联的内容缓存服务器212的地址。内容缓存服务器212的地址指示的内容缓存服务器212存储了第一内容指纹和与第一内容指纹关联的数据。示例的,如表3所示。The content distribution server 211 may store the content fingerprint address, the correspondence between the content fingerprint and the address of the content cache server. The content distribution server 211 receives the first content fingerprint or content fingerprint address sent by the terminal device 230, and determines the address of the content cache server 212 associated with the first content fingerprint according to the first content fingerprint or content fingerprint address query correspondence. The content cache server 212 indicated by the address of the content cache server 212 stores the first content fingerprint and data associated with the first content fingerprint. example, as shown in Table 3.
表3table 3
Figure PCTCN2021119446-appb-000003
Figure PCTCN2021119446-appb-000003
若第一内容指纹为内容指纹1,内容分发服务器211查表确定与内容指纹1关联的内容缓存服务器212的地址为地址1。若内容分发服务器211接收到内容指纹地址1,查表确定内容指纹地址1对应内容指纹1,与内容指纹1关联的内容缓存服务器212的地址为地址1。If the first content fingerprint is content fingerprint 1, the content distribution server 211 looks up the table to determine that the address of the content cache server 212 associated with content fingerprint 1 is address 1. If the content distribution server 211 receives the content fingerprint address 1, it looks up the table to determine that the content fingerprint address 1 corresponds to the content fingerprint 1, and the address of the content cache server 212 associated with the content fingerprint 1 is the address 1.
若第一内容指纹为内容指纹2,内容分发服务器211查表确定与内容指纹2关联的内容缓存服务器212的地址包含地址2、地址3和地址4。可理解的,内容分发服务器211从地址2、地址3和地址4指示的内容缓存服务器212均存储了内容指纹2和 内容指纹2的数据。If the first content fingerprint is content fingerprint 2, the content distribution server 211 looks up the table to determine that the addresses of the content cache server 212 associated with content fingerprint 2 include address 2, address 3 and address 4. It is understandable that the content distribution server 211 stores the data of content fingerprint 2 and content fingerprint 2 from the content cache server 212 indicated by address 2, address 3 and address 4.
内容分发服务器211根据终端设备230的地址从地址2、地址3和地址4指示的内容缓存服务器212中选取一个最佳的内容缓存服务器212,向终端设备230反馈最佳的内容缓存服务器212的地址。最佳的内容缓存服务器212可以距离终端设备230最近的内容缓存服务器,也可能是传输速度最快的内容缓存服务器。假设最佳的内容缓存服务器212是地址2指示的内容缓存服务器212。终端设备230可以从内容缓存服务器212获取数据。The content distribution server 211 selects an optimal content caching server 212 from the content caching servers 212 indicated by address 2, address 3 and address 4 according to the address of the terminal device 230, and feeds back the address of the optimal content caching server 212 to the terminal device 230. . The optimal content caching server 212 may be the content caching server closest to the terminal device 230, or may be the content caching server with the fastest transmission speed. Assume that the best content cache server 212 is the content cache server 212 indicated by address 2 . The terminal device 230 may acquire data from the content cache server 212 .
S606、内容分发服务器211向终端设备230发送内容缓存服务器212的地址。S606 , the content distribution server 211 sends the address of the content cache server 212 to the terminal device 230 .
S607、终端设备230接收内容分发服务器211发送的内容缓存服务器212的地址。S607: The terminal device 230 receives the address of the content cache server 212 sent by the content distribution server 211.
S608、终端设备230向内容缓存服务器212的地址指示的内容缓存服务器发送第一内容指纹。S608: The terminal device 230 sends the first content fingerprint to the content cache server indicated by the address of the content cache server 212.
S609、内容缓存服务器212接收终端设备230发送的第一内容指纹。S609: The content cache server 212 receives the first content fingerprint sent by the terminal device 230.
S610、内容缓存服务器212根据第一内容指纹确定与第一内容指纹关联的数据。S610. The content cache server 212 determines data associated with the first content fingerprint according to the first content fingerprint.
内容缓存服务器212存储有内容指纹和与内容指纹关联的数据。内容缓存服务器212可以根据第一内容指纹查询对应关系,得到与第一内容指纹关联的数据。The content cache server 212 stores content fingerprints and data associated with the content fingerprints. The content cache server 212 may query the corresponding relationship according to the first content fingerprint to obtain data associated with the first content fingerprint.
S611、内容缓存服务器212向终端设备230发送与第一内容指纹关联的数据。S611. The content cache server 212 sends the data associated with the first content fingerprint to the terminal device 230.
S612、终端设备230接收内容缓存服务器212发送的与第一内容指纹关联的数据。S612: The terminal device 230 receives the data associated with the first content fingerprint sent by the content cache server 212.
S613、终端设备230显示数据表达的内容。S613. The terminal device 230 displays the content expressed by the data.
由于内容指纹地址和内容指纹唯一地指示了一个数据。数据的内容指纹是随着数据改变而改变。数据更改时,内容指纹也会随之发送改变。数据不变时,内容指纹也不会改变。在统一资源定位符失效或被修改了的情况下,终端设备230仍可以根据内容指纹地址或内容指纹获取到要访问的数据,避免了无法查询到终端用户访问的数据,无法向终端设备反馈数据的情况,提高了终端设备获取数据的速率。Since the content fingerprint address and the content fingerprint uniquely indicate a piece of data. The content fingerprint of the data changes as the data changes. When the data changes, the content fingerprint is also sent with changes. When the data does not change, the content fingerprint does not change. In the case that the uniform resource locator is invalid or modified, the terminal device 230 can still obtain the data to be accessed according to the content fingerprint address or content fingerprint, so as to avoid the inability to query the data accessed by the terminal user and to feed back data to the terminal device. In this case, the data acquisition rate of the terminal device is improved.
另外,统一资源定位符可能包含文件名等敏感信息,容易造成信息泄露。本实施例采用内容指纹地址和内容指纹指示数据,避免信息泄露,提高了数据的安全性。In addition, the uniform resource locator may contain sensitive information such as file names, which may easily lead to information leakage. In this embodiment, the content fingerprint address and the content fingerprint indication data are used to avoid information leakage and improve data security.
资源篡改是黑客常用的一种方法,黑客可以对统一资源定位符的数据进行伪造篡改,用户使用统一资源定位符访问到的可能并不是原始的内容。Resource tampering is a method commonly used by hackers. Hackers can forge and tamper with the data of the Uniform Resource Locator, and what the user accesses by using the Uniform Resource Locator may not be the original content.
可选的,如图8所示,在从内容缓存服务器的地址指示的内容缓存服务器获取与第一内容指纹关联的数据之后,终端设备230还可以对获取到的数据进行验证。该方法还包括以下步骤。Optionally, as shown in FIG. 8 , after acquiring the data associated with the first content fingerprint from the content caching server indicated by the address of the content caching server, the terminal device 230 may further verify the acquired data. The method also includes the following steps.
S614、终端设备230利用哈希算法生成第二内容指纹。S614. The terminal device 230 generates a second content fingerprint by using a hash algorithm.
S615、终端设备230判断第一内容指纹和第二内容指纹是否相同。S615. The terminal device 230 determines whether the first content fingerprint and the second content fingerprint are the same.
当第一内容指纹和第二内容指纹相同时,执行S616;当第一内容指纹和第二内容指纹不同时,执行S617。When the first content fingerprint and the second content fingerprint are the same, execute S616; when the first content fingerprint and the second content fingerprint are different, execute S617.
S616、终端设备230确定数据未被篡改。S616. The terminal device 230 determines that the data has not been tampered with.
S617、终端设备230确定数据被篡改。S617. The terminal device 230 determines that the data has been tampered with.
如此,终端设备230可以验证接收到的数据是否被篡改。In this way, the terminal device 230 can verify whether the received data has been tampered with.
在另一种可能的实现方式中,数据是统一资源定位符指示的资源的分片数据。例如,终端用户正在观看的视频出现了卡顿,终端用户需要获取的数据就是资源中的分 片数据。终端设备230可以根据上述S601至S617获取资源中的分片数据。In another possible implementation manner, the data is fragmented data of the resource indicated by the uniform resource locator. For example, the video being watched by the end user is stuck, and the data that the end user needs to obtain is the fragmented data in the resource. The terminal device 230 may acquire the fragmented data in the resource according to the above S601 to S617.
当终端设备230首次获取统一资源定位符指示的资源时,根据统一资源定位符获取资源包含多个分片数据的内容指纹地址。When the terminal device 230 acquires the resource indicated by the uniform resource locator for the first time, it acquires, according to the uniform resource locator, the content fingerprint address of the resource including multiple pieces of data.
图9为本申请实施例提供的另一种基于内容分发网络获取数据的方法的流程图。与上述图6所示的方法区别在于,S901、终端设备230根据统一资源定位符获取资源包含多个分片数据的内容指纹地址。终端设备230遍历多个分片数据的内容指纹地址,对于每个分片数据的内容指纹地址,终端设备230执行S602至S617,直到遍历了所有分片数据的内容指纹地址,获取资源的每个分片数据。FIG. 9 is a flowchart of another method for acquiring data based on a content distribution network according to an embodiment of the present application. The difference from the method shown in FIG. 6 above is that in S901 , the terminal device 230 obtains, according to the uniform resource locator, the content fingerprint address of the resource including multiple pieces of data. The terminal device 230 traverses the content fingerprint addresses of a plurality of fragmented data, and for the content fingerprint addresses of each fragmented data, the terminal device 230 executes S602 to S617 until the content fingerprint addresses of all fragmented data are traversed, and obtains each of the resources. Sharded data.
如此,终端设备230从多个内容缓存服务器212并行地获取分片数据,从而有效地提高了终端设备230获取数据的效率,突破单个存储服务端的带宽瓶颈。In this way, the terminal device 230 acquires fragmented data from multiple content cache servers 212 in parallel, thereby effectively improving the data acquisition efficiency of the terminal device 230 and breaking the bandwidth bottleneck of a single storage server.
可以理解的是,为了实现上述实施例中功能,终端设备和服务器包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。It can be understood that, in order to realize the functions in the foregoing embodiments, the terminal device and the server include corresponding hardware structures and/or software modules for performing each function. Those skilled in the art should easily realize that the units and method steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software-driven hardware depends on the specific application scenarios and design constraints of the technical solution.
图10为本申请的实施例提供的可能的获取数据的装置的结构示意图。这些获取数据的装置可以用于实现上述方法实施例中终端设备的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请的实施例中,该获取数据的装置可以是如图2所示的终端设备230,还可以是应用于终端设备230的模块(如芯片)。FIG. 10 is a schematic structural diagram of a possible apparatus for acquiring data provided by an embodiment of the present application. These apparatuses for acquiring data can be used to implement the functions of the terminal device in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments. In this embodiment of the present application, the apparatus for acquiring data may be the terminal device 230 as shown in FIG. 2 , or may be a module (eg, a chip) applied to the terminal device 230 .
如图10所示,获取数据的装置1000包括通信模块1010、分析内容指纹地址模块1020和显示模块1030。获取数据的装置1000用于实现上述图6、图8或图9中所示的方法实施例中终端设备230的功能。As shown in FIG. 10 , the apparatus 1000 for acquiring data includes a communication module 1010 , an analysis content fingerprint address module 1020 and a display module 1030 . The apparatus 1000 for acquiring data is used to implement the function of the terminal device 230 in the method embodiment shown in FIG. 6 , FIG. 8 or FIG. 9 .
当获取数据的装置1000用于实现图6所示的方法实施例中终端设备230的功能时:通信模块1010用于执行S601、S603(或S603a)、S607、S608和S612;分析内容指纹地址模块1020用于执行S602;显示模块1030用于执行S613。When the apparatus 1000 for acquiring data is used to implement the function of the terminal device 230 in the method embodiment shown in FIG. 6 : the communication module 1010 is used to execute S601, S603 (or S603a), S607, S608 and S612; the analysis content fingerprint address module 1020 is used to execute S602; the display module 1030 is used to execute S613.
当获取数据的装置1000用于实现图8所示的方法实施例中终端设备230的功能时:通信模块1010用于执行S601、S603(或S603a)、S607、S608和S612;分析内容指纹地址模块1020用于执行S602;显示模块1030用于执行S613。可选的,获取数据的装置1000还可以包括生成内容指纹模块1040和决策模块1050。生成内容指纹模块1040用于执行S614;决策模块1050用于执行S615至S617。When the apparatus 1000 for acquiring data is used to implement the function of the terminal device 230 in the method embodiment shown in FIG. 8 : the communication module 1010 is used to execute S601, S603 (or S603a), S607, S608 and S612; the analysis content fingerprint address module 1020 is used to execute S602; the display module 1030 is used to execute S613. Optionally, the apparatus 1000 for acquiring data may further include a content fingerprint generation module 1040 and a decision module 1050 . The generating content fingerprint module 1040 is used to execute S614; the decision module 1050 is used to execute S615 to S617.
当获取数据的装置1000用于实现图9所示的方法实施例中终端设备230的功能时:通信模块1010用于执行S901、S603(或S603a)、S607、S608和S612;分析内容指纹地址模块1020用于执行S602;显示模块1030用于执行S613;生成内容指纹模块1040用于执行S614;决策模块1050用于执行S615至S617。When the apparatus 1000 for acquiring data is used to implement the function of the terminal device 230 in the method embodiment shown in FIG. 9 : the communication module 1010 is used to execute S901, S603 (or S603a), S607, S608 and S612; the analysis content fingerprint address module 1020 is used to execute S602; the display module 1030 is used to execute S613; the content fingerprint generation module 1040 is used to execute S614; the decision module 1050 is used to execute S615 to S617.
有关上述通信模块1010、分析内容指纹地址模块1020、显示模块1030、生成内容指纹模块1040和决策模块1050更详细的描述可以参考图6、图8或图9所示的方法实施例中相关描述直接得到,这里不加赘述。For more detailed descriptions of the above communication module 1010, analyzing content fingerprint address module 1020, displaying module 1030, generating content fingerprinting module 1040 and decision module 1050, please refer to the relevant descriptions in the method embodiments shown in FIG. 6, FIG. 8 or FIG. 9 directly. obtained, and will not be repeated here.
图11为本申请的实施例提供的可能的分发数据的装置的结构示意图。这些分发数据的装置可以用于实现上述方法实施例中内容分发服务器的功能,因此也能实现上述 方法实施例所具备的有益效果。在本申请的实施例中,该分发数据的装置可以是如图2所示的内容分发服务器211,还可以是应用于内容分发服务器211的模块(如芯片)。FIG. 11 is a schematic structural diagram of a possible apparatus for distributing data provided by an embodiment of the present application. These apparatuses for distributing data can be used to implement the function of the content distribution server in the above method embodiments, and thus can also achieve the beneficial effects possessed by the above method embodiments. In this embodiment of the present application, the device for distributing data may be the content distribution server 211 as shown in FIG. 2 , or may be a module (eg, a chip) applied to the content distribution server 211 .
如图11所示,分发数据的装置1100包括通信模块1110、生成模块1120和确定内容缓存服务器地址模块1130。分发数据的装置1100用于实现上述图3、图4、图6、图8或图9中所示的方法实施例中内容分发服务器211的功能。As shown in FIG. 11 , the apparatus 1100 for distributing data includes a communication module 1110 , a generation module 1120 and a content cache server address determination module 1130 . The apparatus 1100 for distributing data is configured to implement the function of the content distribution server 211 in the method embodiment shown in FIG. 3 , FIG. 4 , FIG. 6 , FIG. 8 or FIG. 9 .
当分发数据的装置1100用于实现图3所示的方法实施例中内容分发服务器211的功能时:通信模块1110用于执行S310和S350;生成模块1120用于执行S320和S330;确定内容缓存服务器地址模块1130用于执行S340。When the apparatus 1100 for distributing data is used to implement the function of the content distribution server 211 in the method embodiment shown in FIG. 3 : the communication module 1110 is used to execute S310 and S350; the generation module 1120 is used to execute S320 and S330; The address module 1130 is used to execute S340.
当分发数据的装置1100用于实现图4所示的方法实施例中内容分发服务器211的功能时:通信模块1110用于执行S410和S460;生成模块1120用于执行S430和S440;确定内容缓存服务器地址模块1130用于执行S450。可选的,分发数据的装置1100还可以包括划分模块1140。划分模块1140用于执行S420。When the apparatus 1100 for distributing data is used to implement the function of the content distribution server 211 in the method embodiment shown in FIG. 4: the communication module 1110 is used to execute S410 and S460; the generation module 1120 is used to execute S430 and S440; The address module 1130 is used to execute S450. Optionally, the apparatus 1100 for distributing data may further include a dividing module 1140 . The dividing module 1140 is configured to perform S420.
当分发数据的装置1100用于实现图6、图8或图9所示的方法实施例中内容分发服务器211的功能时:通信模块1110用于执行S604(或S604a)和S606;确定内容缓存服务器地址模块1130用于执行S605。When the apparatus 1100 for distributing data is used to implement the function of the content distribution server 211 in the method embodiment shown in FIG. 6, FIG. 8 or FIG. 9: the communication module 1110 is used to execute S604 (or S604a) and S606; determine the content cache server The address module 1130 is used to execute S605.
分发数据的装置1100还包括存储模块1150,存储模块1150用于缓存内容指纹地址、内容指纹和内容缓存服务器的地址的对应关系。The apparatus 1100 for distributing data further includes a storage module 1150, and the storage module 1150 is configured to cache the content fingerprint address, the correspondence between the content fingerprint and the address of the content cache server.
有关上述通信模块1110、生成模块1120和确定内容缓存服务器地址模块1130和划分模块1140更详细的描述可以参考图3、图4、图6、图8或图9所示的方法实施例中相关描述直接得到,这里不加赘述。For more detailed description of the above-mentioned communication module 1110 , generation module 1120 , content cache server address determination module 1130 and division module 1140 , reference may be made to the relevant descriptions in the method embodiments shown in FIG. 3 , FIG. 4 , FIG. 6 , FIG. 8 or FIG. 9 It is obtained directly and will not be repeated here.
图12为本申请的实施例提供的可能的缓存数据的装置的结构示意图。这些缓存数据的装置可以用于实现上述方法实施例中内容缓存服务器的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请的实施例中,该缓存数据的装置可以是如图2所示的内容缓存服务器212,还可以是应用于内容缓存服务器212的模块(如芯片)。FIG. 12 is a schematic structural diagram of a possible apparatus for caching data provided by an embodiment of the present application. These apparatuses for caching data can be used to implement the function of the content caching server in the above method embodiments, so the beneficial effects of the above method embodiments can also be achieved. In this embodiment of the present application, the device for caching data may be the content caching server 212 shown in FIG. 2 , or may be a module (eg, a chip) applied to the content caching server 212 .
如图12所示,缓存数据的装置1200包括通信模块1210和确定数据模块1220。缓存数据的装置1200用于实现上述图6、图8或图9中所示的方法实施例中内容缓存服务器212的功能。As shown in FIG. 12 , the apparatus 1200 for buffering data includes a communication module 1210 and a data determination module 1220 . The apparatus 1200 for caching data is used to implement the function of the content caching server 212 in the method embodiment shown in FIG. 6 , FIG. 8 or FIG. 9 .
当缓存数据的装置1200用于实现图6、图8或图9所示的方法实施例中内容缓存服务器212的功能时:通信模块120用于执行S609和S611;确定数据模块1220用于执行S610。When the apparatus 1200 for caching data is used to implement the function of the content caching server 212 in the method embodiment shown in FIG. 6 , FIG. 8 or FIG. 9 : the communication module 120 is used for executing S609 and S611 ; the determining data module 1220 is used for executing S610 .
缓存数据的装置1200还包括存储模块1230,存储模块1230用于缓存内容指纹和与内容指纹关联的数据。The apparatus 1200 for caching data further includes a storage module 1230, and the storage module 1230 is configured to cache content fingerprints and data associated with the content fingerprints.
有关上述通信模块1210和确定数据模块1220更详细的描述可以参考图3、图4、图6、图8或图9所示的方法实施例中相关描述直接得到,这里不加赘述。More detailed descriptions of the communication module 1210 and the data determination module 1220 can be obtained directly by referring to the relevant descriptions in the method embodiments shown in FIG. 3 , FIG. 4 , FIG. 6 , FIG. 8 or FIG.
图13至图15提供了一种计算机。图13所示的计算机1300具体可以用于实现上述图10所示实施例中获取数据的装置1000的功能,图14所示的计算机1400具体可以用于实现上述图11所示实施例中分发数据的装置1100的功能,图15所示的计算机1500具体可以用于实现上述图12所示实施例中缓存数据的装置1200的功能。13 to 15 provide a computer. The computer 1300 shown in FIG. 13 can be specifically used to implement the functions of the data acquisition apparatus 1000 in the embodiment shown in FIG. 10 , and the computer 1400 shown in FIG. 14 can be specifically used to implement the data distribution in the embodiment shown in FIG. 11 . The computer 1500 shown in FIG. 15 can specifically be used to implement the functions of the apparatus 1200 for caching data in the embodiment shown in FIG. 12 above.
计算机1300包括总线1301、处理器1302、通信接口1303、存储器1304和显示 器1305。处理器1302、存储器1304、通信接口1303和显示器1305之间通过总线1301通信。总线1301可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口1303用于与外部通信,例如接收内容指纹地址、内容缓存服务器的地址和数据等。显示器1305可以是液晶显示器(liquid crystal display,LCD)或者是有机发光显示器(Organic Light-Emitting Diode,OLED)等。Computer 1300 includes bus 1301, processor 1302, communication interface 1303, memory 1304, and display 1305. Communication among the processor 1302 , the memory 1304 , the communication interface 1303 and the display 1305 is through the bus 1301 . The bus 1301 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like. The bus can be divided into address bus, data bus, control bus and so on. For ease of presentation, only one thick line is used in FIG. 13, but it does not mean that there is only one bus or one type of bus. The communication interface 1303 is used for external communication, such as receiving the content fingerprint address, the address and data of the content cache server, and the like. The display 1305 may be a liquid crystal display (liquid crystal display, LCD) or an organic light-emitting display (Organic Light-Emitting Diode, OLED) or the like.
其中,处理器1302可以为中央处理器(central processing unit,CPU)。存储器1304可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器1304还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。The processor 1302 may be a central processing unit (central processing unit, CPU). Memory 1304 may include volatile memory, such as random access memory (RAM). The memory 1304 may also include non-volatile memory, such as read-only memory (ROM), flash memory, HDD, or SSD.
存储器1304中存储有可执行代码,处理器1302执行该可执行代码以执行前述基于内容分发网络获取数据的方法。Executable code is stored in the memory 1304, and the processor 1302 executes the executable code to execute the aforementioned method for acquiring data based on a content distribution network.
具体地,在实现图10所示实施例的情况下,且图10实施例中所描述的各模块为通过软件实现的情况下,存储器1304存储执行图10中的分析内容指纹地址模块1020、生成内容指纹模块1040和决策模块1050的功能所需的软件或程序代码,通信接口1303实现通信模块1010的功能,显示器1305实现显示模块1030的功能,处理器用于执行存储器1304中的指令,执行应用于获取数据的装置1000的基于内容分发网络获取数据的方法。Specifically, in the case where the embodiment shown in FIG. 10 is implemented, and each module described in the embodiment in FIG. 10 is implemented by software, the memory 1304 stores and executes the analysis content fingerprint address module 1020 in FIG. The software or program code required for the functions of the content fingerprint module 1040 and the decision module 1050, the communication interface 1303 realizes the function of the communication module 1010, the display 1305 realizes the function of the display module 1030, the processor is used to execute the instructions in the memory 1304, A method for acquiring data based on a content distribution network of the apparatus 1000 for acquiring data.
计算机1400包括总线1401、处理器1402、通信接口1403和存储器1404。处理器1402、存储器1404和通信接口1403之间通过总线1401通信。计算机1400在实现图11所示实施例的情况下,且图11实施例中所描述的各模块为通过软件实现的情况下,存储器1404存储执行图11中的生成模块1120、确定内容缓存服务器地址模块1130和划分模块1140的功能所需的软件或程序代码。存储器1404存储内容指纹地址、内容指纹和内容缓存服务器的地址的对应关系。通信接口1403实现通信模块1110的功能,存储器1404实现存储模块1150的功能,处理器1402用于执行存储器1404中的指令,执行应用于分发数据的装置1100的基于内容分发网络获取数据的方法。Computer 1400 includes bus 1401 , processor 1402 , communication interface 1403 and memory 1404 . The processor 1402 , the memory 1404 and the communication interface 1403 communicate through the bus 1401 . When the computer 1400 implements the embodiment shown in FIG. 11 , and each module described in the embodiment of FIG. 11 is implemented by software, the memory 1404 stores and executes the generation module 1120 in FIG. 11 and determines the address of the content cache server. Software or program code required for the functions of module 1130 and partition module 1140 . The memory 1404 stores the content fingerprint address, the correspondence between the content fingerprint and the address of the content cache server. The communication interface 1403 implements the function of the communication module 1110, the memory 1404 implements the function of the storage module 1150, and the processor 1402 is used to execute the instructions in the memory 1404 and execute the method for obtaining data based on the content distribution network applied to the apparatus 1100 for distributing data.
计算机1500包括总线1501、处理器1502、通信接口1503和存储器1504。处理器1502、存储器1504和通信接口1503之间通过总线1501通信。计算机1500在实现图12所示实施例中,且图12实施例中所描述的各模块为通过软件实现的情况下,存储器1504存储执行图12中的确定数据模块1220的功能所需的软件或程序代码,通信接口1503实现通信模块1201的功能,存储器1504用于存储内容指纹和与内容指纹关联的数据,处理器用于执行存储器1504中的指令,执行应用于缓存数据的装置1200的基于内容分发网络发送数据的方法。Computer 1500 includes bus 1501 , processor 1502 , communication interface 1503 and memory 1504 . The processor 1502 , the memory 1504 and the communication interface 1503 communicate through the bus 1501 . When the computer 1500 implements the embodiment shown in FIG. 12 , and each module described in the embodiment of FIG. 12 is implemented by software, the memory 1504 stores the software or software required to execute the function of the determination data module 1220 in FIG. 12 . The program code, the communication interface 1503 realizes the function of the communication module 1201, the memory 1504 is used to store the content fingerprint and the data associated with the content fingerprint, the processor is used to execute the instructions in the memory 1504, and execute the content-based distribution applied to the device 1200 for caching data The method by which the network sends data.
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于获取数据的装置1000的基于内容分发网络获取数据的方法。Embodiments of the present application also provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the above-mentioned method for acquiring data based on a content distribution network applied to the apparatus 1000 for acquiring data.
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运 行时,使得计算机执行上述应用于分发数据的装置1100的基于内容分发网络获取数据的方法。Embodiments of the present application also provide a computer-readable storage medium, including instructions, which, when run on a computer, cause the computer to execute the above-mentioned method for obtaining data based on a content distribution network applied to the apparatus 1100 for distributing data.
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于缓存数据的装置1200的基于内容分发网络发送数据的方法。Embodiments of the present application also provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the above-mentioned method for sending data based on a content distribution network applied to the apparatus 1200 for caching data.
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机执行时,所述计算机执行前述方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。Embodiments of the present application further provide a computer program product, and when the computer program product is executed by a computer, the computer executes any one of the foregoing methods. The computer program product may be a software installation package, and when any one of the aforementioned methods needs to be used, the computer program product may be downloaded and executed on a computer.
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。In addition, it should be noted that the device embodiments described above are only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be A physical unit, which can be located in one place or distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment. In addition, in the drawings of the device embodiments provided in the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。From the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general-purpose hardware. Special components, etc. to achieve. Under normal circumstances, all functions completed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structures used to implement the same function can also be various, such as analog circuits, digital circuits or special circuit, etc. However, a software program implementation is a better implementation in many cases for this application. Based on this understanding, the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that make contributions to the prior art. The computer software products are stored in a readable storage medium, such as a floppy disk of a computer. , U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., including several instructions to enable a computer device (which may be a personal computer, training device, or network device, etc.) to execute the various embodiments of the application. method.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, it can be implemented in whole or in part in the form of a computer program product.
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be retrieved from a website, computer, training device, or data Transmission from the center to another website site, computer, training facility or data center via wired (eg coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a training device, a data center, or the like that includes an integration of one or more available media. The usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.

Claims (20)

  1. 一种基于内容分发网络获取数据的方法,其特征在于,包括:A method for obtaining data based on a content distribution network, comprising:
    根据内容指纹地址从内容分发服务器获取内容缓存服务器的地址,所述内容指纹地址用于指示所述内容分发服务器的地址和内容指纹,所述内容指纹是根据待访问的数据生成的;Obtain the address of the content cache server from the content distribution server according to the content fingerprint address, where the content fingerprint address is used to indicate the address and content fingerprint of the content distribution server, and the content fingerprint is generated according to the data to be accessed;
    从所述内容缓存服务器的地址指示的内容缓存服务器获取与所述内容指纹关联的所述数据;Obtain the data associated with the content fingerprint from the content cache server indicated by the address of the content cache server;
    显示所述数据表达的内容。Display what the data expresses.
  2. 根据权利要求1所述的方法,其特征在于,根据内容指纹地址从内容分发服务器获取内容缓存服务器的地址,包括:The method according to claim 1, wherein obtaining the address of the content cache server from the content distribution server according to the content fingerprint address, comprising:
    从所述内容指纹地址中获取所述内容指纹和所述内容分发服务器的地址;Obtain the content fingerprint and the address of the content distribution server from the content fingerprint address;
    向所述内容分发服务器发送所述内容指纹地址和终端设备的地址,或者,向所述内容分发服务器发送所述内容指纹和所述终端设备的地址;Send the content fingerprint address and the address of the terminal device to the content distribution server, or send the content fingerprint and the address of the terminal device to the content distribution server;
    接收所述内容分发服务器发送的所述内容缓存服务器的地址。The address of the content cache server sent by the content distribution server is received.
  3. 根据权利要求1或2所述的方法,其特征在于,从所述内容缓存服务器的地址指示的内容缓存服务器获取与所述内容指纹关联的所述数据,包括:The method according to claim 1 or 2, wherein acquiring the data associated with the content fingerprint from a content cache server indicated by the address of the content cache server comprises:
    向所述内容缓存服务器的地址指示的内容缓存服务器发送所述内容指纹;sending the content fingerprint to the content cache server indicated by the address of the content cache server;
    接收所述内容缓存服务器发送的与所述内容指纹关联的所述数据。The data associated with the content fingerprint sent by the content cache server is received.
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,在根据内容指纹地址从内容分发服务器获取内容缓存服务器的地址之前,所述方法还包括:The method according to any one of claims 1-3, wherein before acquiring the address of the content cache server from the content distribution server according to the content fingerprint address, the method further comprises:
    根据所述数据的标识获取所述内容指纹地址,所述数据的标识为统一资源定位符或资源名称。The content fingerprint address is obtained according to the identifier of the data, where the identifier of the data is a uniform resource locator or a resource name.
  5. 根据权利要求4所述的方法,其特征在于,根据所述数据的标识获取所述内容指纹地址,包括:The method according to claim 4, wherein obtaining the content fingerprint address according to the identifier of the data comprises:
    接收到来自用户的获取所述数据的指示,根据所述数据的标识获取所述内容指纹地址。After receiving the instruction from the user to obtain the data, the content fingerprint address is obtained according to the identifier of the data.
  6. 根据权利要求4或5所述的方法,其特征在于,所述数据是统一资源定位符或资源名称指示的资源包含的分片数据;The method according to claim 4 or 5, wherein the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name;
    根据所述数据的标识获取所述内容指纹地址,包括:Obtaining the content fingerprint address according to the identifier of the data includes:
    根据所述数据的标识获取所述资源包含的多个分片数据的内容指纹地址。The content fingerprint addresses of multiple pieces of data contained in the resource are acquired according to the identifier of the data.
  7. 一种基于内容分发网络获取数据的方法,其特征在于,包括:A method for obtaining data based on a content distribution network, comprising:
    接收终端设备发送的所述终端设备的地址和内容指纹地址,或者,接收终端设备发送的所述终端设备的地址和内容指纹,所述内容指纹是根据待访问的数据生成的,所述内容指纹地址用于指示所述内容指纹和内容分发服务器的地址;Receive the address and content fingerprint address of the terminal device sent by the terminal device, or receive the address and content fingerprint of the terminal device sent by the terminal device, where the content fingerprint is generated according to the data to be accessed, and the content fingerprint The address is used to indicate the content fingerprint and the address of the content distribution server;
    根据所述终端设备的地址确定与所述内容指纹关联的内容缓存服务器的地址,所述内容缓存服务器的地址指示的内容缓存服务器存储了所述数据和所述内容指纹;Determine the address of the content cache server associated with the content fingerprint according to the address of the terminal device, where the content cache server indicated by the address of the content cache server stores the data and the content fingerprint;
    向所述终端设备发送所述内容缓存服务器的地址。Send the address of the content cache server to the terminal device.
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:The method according to claim 7, wherein the method further comprises:
    接收内容源发送的所述数据;receiving said data sent by a content source;
    根据所述数据生成所述内容指纹,以及生成所述内容指纹地址;generating the content fingerprint according to the data, and generating the content fingerprint address;
    根据所述内容指纹地址确定至少一个内容缓存服务器;Determine at least one content cache server according to the content fingerprint address;
    向所述至少一个内容缓存服务器发送所述数据和所述内容指纹。The data and the content fingerprint are sent to the at least one content cache server.
  9. 根据权利要求8所述的方法,其特征在于,所述数据是统一资源定位符或资源名称指示的资源包含的分片数据;所述方法还包括:The method according to claim 8, wherein the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name; the method further comprises:
    将所述资源划分为多个分片数据。The resource is divided into multiple pieces of data.
  10. 一种获取数据的装置,其特征在于,包括:A device for acquiring data, comprising:
    通信模块,用于根据内容指纹地址从内容分发服务器获取内容缓存服务器的地址,所述内容指纹地址用于指示所述内容分发服务器的地址和内容指纹,所述内容指纹是根据待访问的数据生成的;The communication module is used to obtain the address of the content cache server from the content distribution server according to the content fingerprint address, the content fingerprint address is used to indicate the address and content fingerprint of the content distribution server, and the content fingerprint is generated according to the data to be accessed of;
    所述通信模块,还用于从所述内容缓存服务器的地址指示的内容缓存服务器获取与所述内容指纹关联的所述数据;The communication module is further configured to obtain the data associated with the content fingerprint from the content cache server indicated by the address of the content cache server;
    显示模块,用于显示所述数据表达的内容。The display module is used to display the content expressed by the data.
  11. 根据权利要求10所述的装置,其特征在于,所述装置还包括分析内容指纹地址模块,The device according to claim 10, wherein the device further comprises an analysis content fingerprint address module,
    所述分析内容指纹地址模块,用于从所述内容指纹地址中获取所述内容指纹和所述内容分发服务器的地址;The analyzing content fingerprint address module is used to obtain the content fingerprint and the address of the content distribution server from the content fingerprint address;
    所述通信模块,具体用于向所述内容分发服务器发送所述内容指纹地址和终端设备的地址,或者,向所述内容分发服务器发送所述内容指纹和所述终端设备的地址;The communication module is specifically configured to send the content fingerprint address and the address of the terminal device to the content distribution server, or send the content fingerprint and the address of the terminal device to the content distribution server;
    所述通信模块,具体用于接收所述内容分发服务器发送的所述内容缓存服务器的地址。The communication module is specifically configured to receive the address of the content cache server sent by the content distribution server.
  12. 根据权利要求10或11所述的装置,其特征在于,The device according to claim 10 or 11, characterized in that,
    所述通信模块,具体用于向所述内容缓存服务器的地址指示的内容缓存服务器发送所述内容指纹;The communication module is specifically configured to send the content fingerprint to the content cache server indicated by the address of the content cache server;
    所述通信模块,具体用于接收所述内容缓存服务器发送的与所述内容指纹关联的所述数据。The communication module is specifically configured to receive the data associated with the content fingerprint sent by the content cache server.
  13. 根据权利要求10-12中任一项所述的装置,其特征在于,The device according to any one of claims 10-12, characterized in that,
    所述通信模块,还用于根据所述数据的标识获取所述内容指纹地址,所述数据的标识为统一资源定位符或资源名称。The communication module is further configured to obtain the content fingerprint address according to the identifier of the data, where the identifier of the data is a uniform resource locator or a resource name.
  14. 根据权利要求13所述的装置,其特征在于,The device of claim 13, wherein:
    所述通信模块,具体用于接收到来自用户的获取所述数据的指示后,根据所述数据的标识获取所述内容指纹地址。The communication module is specifically configured to acquire the content fingerprint address according to the identifier of the data after receiving the instruction to acquire the data from the user.
  15. 根据权利要求13或14所述的装置,其特征在于,所述数据是统一资源定位符或资源名称指示的资源包含的分片数据;The apparatus according to claim 13 or 14, wherein the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name;
    所述通信模块,具体用于根据所述数据的标识获取所述资源包含的多个分片数据的内容指纹地址。The communication module is specifically configured to acquire, according to the identifier of the data, content fingerprint addresses of multiple pieces of data contained in the resource.
  16. 一种分发数据的装置,其特征在于,包括:A device for distributing data, comprising:
    通信模块,用于接收终端设备发送的所述终端设备的地址和内容指纹地址,或者,接收终端设备发送的所述终端设备的地址和内容指纹,所述内容指纹是根据待访问的 数据生成的,所述内容指纹地址用于指示所述内容指纹和内容分发服务器的地址;A communication module, configured to receive the address and content fingerprint address of the terminal device sent by the terminal device, or receive the address and content fingerprint of the terminal device sent by the terminal device, where the content fingerprint is generated according to the data to be accessed , the content fingerprint address is used to indicate the content fingerprint and the address of the content distribution server;
    确定内容缓存服务器地址模块,用于根据所述终端设备的地址确定与所述内容指纹关联的内容缓存服务器的地址,所述内容缓存服务器的地址指示的内容缓存服务器存储了所述数据和所述内容指纹;The module for determining the address of the content cache server is used to determine the address of the content cache server associated with the content fingerprint according to the address of the terminal device, and the content cache server indicated by the address of the content cache server stores the data and the content cache server. content fingerprint;
    所述通信模块,还用于向所述终端设备发送所述内容缓存服务器的地址。The communication module is further configured to send the address of the content cache server to the terminal device.
  17. 根据权利要求16所述的装置,其特征在于,The apparatus of claim 16, wherein:
    所述通信模块,还用于接收内容源发送的所述数据;The communication module is further configured to receive the data sent by the content source;
    所述装置还包括生成模块,The device also includes a generating module,
    所述生成模块,用于根据所述数据生成所述内容指纹,以及生成所述内容指纹地址;The generating module is configured to generate the content fingerprint according to the data, and generate the content fingerprint address;
    所述确定内容缓存服务器地址模块,还用于根据所述内容指纹地址确定至少一个内容缓存服务器;The module for determining the address of a content cache server is further configured to determine at least one content cache server according to the content fingerprint address;
    所述通信模块,还用于向所述至少一个内容缓存服务器发送所述数据和所述内容指纹。The communication module is further configured to send the data and the content fingerprint to the at least one content cache server.
  18. 根据权利要求17所述的装置,其特征在于,所述数据是统一资源定位符或资源名称指示的资源包含的分片数据;所述装置还包括划分模块,The apparatus according to claim 17, wherein the data is fragmented data contained in a resource indicated by a uniform resource locator or a resource name; the apparatus further comprises a division module,
    所述划分模块,用于将所述资源划分为多个分片数据。The dividing module is configured to divide the resource into multiple pieces of data.
  19. 一种计算机,其特征在于,包括存储器和处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行上述权利要求1至6中任一项所述的方法。A computer, characterized by comprising a memory and a processor, wherein the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, any one of the above claims 1 to 6 is executed the method described.
  20. 一种计算机,其特征在于,包括存储器和处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行上述权利要求7至9中任一项所述的方法。A computer, characterized by comprising a memory and a processor, wherein the memory is used to store a set of computer instructions; when the processor executes the set of computer instructions, any one of the above claims 7 to 9 is executed the method described.
PCT/CN2021/119446 2020-09-19 2021-09-18 Method and apparatus for obtaining data based on content delivery network WO2022057935A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010990865.2 2020-09-19
CN202010990865.2A CN114301903A (en) 2020-09-19 2020-09-19 Method and device for acquiring data based on content distribution network

Publications (1)

Publication Number Publication Date
WO2022057935A1 true WO2022057935A1 (en) 2022-03-24

Family

ID=80775939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/119446 WO2022057935A1 (en) 2020-09-19 2021-09-18 Method and apparatus for obtaining data based on content delivery network

Country Status (2)

Country Link
CN (1) CN114301903A (en)
WO (1) WO2022057935A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411823A (en) * 2015-07-31 2017-02-15 华为技术有限公司 CDN-based access control method and associated equipment
CN106717012A (en) * 2014-05-06 2017-05-24 TiVo解决方案有限公司 Cloud-based media content management
US20190391972A1 (en) * 2018-06-22 2019-12-26 Attestiv Inc. Real time visual validation of digital content using a distributed ledger

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106717012A (en) * 2014-05-06 2017-05-24 TiVo解决方案有限公司 Cloud-based media content management
CN106411823A (en) * 2015-07-31 2017-02-15 华为技术有限公司 CDN-based access control method and associated equipment
US20190391972A1 (en) * 2018-06-22 2019-12-26 Attestiv Inc. Real time visual validation of digital content using a distributed ledger

Also Published As

Publication number Publication date
CN114301903A (en) 2022-04-08

Similar Documents

Publication Publication Date Title
US11818142B2 (en) Distributed data authentication and validation using blockchain
US9148332B2 (en) Content delivery network
US10862999B2 (en) Custom digital components
US11704421B2 (en) Domain name obfuscation and metadata storage via encryption
CN109791557B (en) Computer-implemented method for managing asset storage and storage system
US11593448B2 (en) Extension for targeted invalidation of cached assets
US8909808B2 (en) Redundancy elimination for web caching
EP3724805B1 (en) Enhanced online privacy
US11163499B2 (en) Method, apparatus and system for controlling mounting of file system
JP2016018561A (en) System and method for parallel secure content bootstrapping in content-centric networks
US9935977B1 (en) Content delivery employing multiple security levels
US20170163767A1 (en) Broadcast-based update management
US20210344741A1 (en) A method and device for feeding back a resource file
CN115004665B (en) File sharing method, device and system
WO2022057935A1 (en) Method and apparatus for obtaining data based on content delivery network
WO2017096886A1 (en) Content pushing method, apparatus and system
US20170006085A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
US20160344838A1 (en) Caching of tracking elements in network content
CN107667518B (en) Automatic discovery and online of electronic devices
US11392662B1 (en) Attribute inheritance of related objects for a digital object architecture
WO2019156026A1 (en) Server selection device, server selection method, and program
CN116707921A (en) Method and system for acquiring digital resources based on dynamic key
KR20150045891A (en) Method and apparatus for providing streaming contents
CN116366272A (en) Resource processing method, device, server and storage medium
CN114143577A (en) Video acquisition method and system

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21868757

Country of ref document: EP

Kind code of ref document: A1