CN110311980B - Data downloading method and device - Google Patents

Data downloading method and device Download PDF

Info

Publication number
CN110311980B
CN110311980B CN201910596026.XA CN201910596026A CN110311980B CN 110311980 B CN110311980 B CN 110311980B CN 201910596026 A CN201910596026 A CN 201910596026A CN 110311980 B CN110311980 B CN 110311980B
Authority
CN
China
Prior art keywords
data
address
original
picture
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910596026.XA
Other languages
Chinese (zh)
Other versions
CN110311980A (en
Inventor
冯显桂
田鑫
尹呈
明泉水
郑辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910596026.XA priority Critical patent/CN110311980B/en
Publication of CN110311980A publication Critical patent/CN110311980A/en
Application granted granted Critical
Publication of CN110311980B publication Critical patent/CN110311980B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/56Provisioning of proxy services

Abstract

The embodiment of the specification provides a data downloading method and a device, and the method comprises the steps of obtaining a request for data; determining an original address of the data based on the request for the data; then, judging whether the original address points to the specified device, if the original address does not point to the specified device: encoding an original address to obtain a source address parameter; then, generating a proxy address of the data, wherein the proxy address points to the specified device and the proxy address comprises a source address parameter; the data request is then sent based on the proxy address.

Description

Data downloading method and device
Technical Field
One or more embodiments of the present disclosure relate to the field of communications, and in particular, to a data downloading method and apparatus.
Background
With the rapid development of network technology, webpage data display has become the mainstream content display mode of most mobile clients such as mobile phones, and pictures become important carriers of webpage data. The traditional network picture loading process is as follows: firstly, downloading picture resources according to a network address and caching the picture resources to the local to obtain picture data content capable of being rendered directly, then performing data decoding on the picture files downloaded and cached, finally rendering the decoded picture content to a view and displaying the picture content to a user, wherein the size of a returned picture received by the user is consistent with that of an original picture. In many scenes, the size of a picture viewed by a user at a mobile phone end is smaller than that of an original picture, and if the picture is downloaded according to the original picture, especially for a larger original picture, the flow consumption is larger, so that the user experience is influenced. Therefore, it is necessary to provide a data downloading method and apparatus capable of optimizing traffic.
Disclosure of Invention
One embodiment of the present specification provides a data downloading method. The method may include obtaining a request for data; determining an original address of the data based on the request for data; judging whether the original address points to a designated device, if not, coding the original address to obtain a source address parameter; generating a proxy address of the data, wherein the proxy address points to the specified device and the source address parameter is included in the proxy address; sending a data request based on the proxy address.
In some embodiments, the request for data further includes data processing requirements; the method further comprises the following steps: processing the data processing requirement based on a preset rule to generate a processing parameter; and if the original address does not point to a designated device, generating a proxy address of the data, wherein the proxy address points to the designated device and the proxy address comprises the source address parameter and the processing parameter.
In some embodiments, the request for data further includes data processing requirements; the method further comprises the following steps: processing the data processing requirement based on a preset rule to generate a processing parameter; and, if the original address points to a designated device: and adding the processing parameters into the original address to generate a proxy address of the data, or replacing the original processing parameters in the original address with the processing parameters to generate the proxy address of the data.
In some embodiments, the method further comprises: and analyzing the original address of the data to obtain the data processing requirement.
In some embodiments, the data comprises a picture; the data processing requirements include one or more of picture quality, picture style, picture size, and picture codec format.
In some embodiments, the data processing requirements include at least two picture coding formats, and the at least two picture coding formats have different priorities.
In some embodiments, the preset rule corresponds to at least a portion of a resolution rule of the server.
In some embodiments, the method may further comprise: receiving data returned by the server; and displaying the data returned by the server.
One embodiment of the present specification provides a data downloading device. The apparatus may include: the first acquisition module is used for acquiring a request for data; a determining module to determine an original address of the data based on the request for data; an address processing module, configured to determine whether the original address points to a specific device, and if the original address does not point to the specific device: encoding the original address to obtain a source address parameter; generating a proxy address of the data, wherein the proxy address points to a designated device and comprises the source address parameter; and the sending module is used for sending a data request based on the proxy address.
In some embodiments, the request for data further includes data processing requirements; the address processing module is further configured to: processing the data processing requirement based on a preset rule to generate a processing parameter; and if the original address does not point to a designated device, generating a proxy address of the data, wherein the proxy address points to the designated device and the source address parameter and the processing parameter are also included in the proxy address.
In some embodiments, the request for data further includes data processing requirements; the address processing module is further configured to: processing the data processing requirement based on a preset rule to generate a processing parameter; if the original address points to a designated device: and adding the processing parameters into the original address to generate a proxy address of the data, or replacing the original processing parameters in the original address with the processing parameters to generate the proxy address of the data.
In some embodiments, the address processing module is further to: and analyzing the original address of the data to obtain the data processing requirement.
In some embodiments, the data comprises a picture; the data processing requirements include one or more of picture quality, picture style, picture size, and picture codec format.
In some embodiments, the data processing requirements include at least two picture coding formats, and the at least two picture coding formats have different priorities.
In some embodiments, the preset rule corresponds to at least a portion of a resolution rule of the server.
In some embodiments, the apparatus may further include a first receiving module and a presentation module: the first receiving module is used for receiving data returned by the server; and the display module is used for displaying the data returned by the server.
One embodiment of the present specification provides a data downloading method. The method may be performed by at least one processor, and may include: receiving a data request; the data request comprises a proxy address; the proxy address comprises a source address parameter, and the source address parameter is obtained by encoding an original address of the data; analyzing the proxy address to obtain an original address of the data; obtaining the data based at least on the original address; and returning the data.
In some embodiments, the method may include parsing the proxy address to obtain data processing requirements; the retrieving the data based at least on the original address comprises: acquiring original data of the data based on the original address; processing the raw data to obtain the data based on the data processing requirements.
In some embodiments, the original address points to other data sources; the obtaining raw data of the data based on the raw address includes obtaining the raw data from the other data source.
In some embodiments, resolving the proxy address may include resolving according to a unified resolution rule.
In some embodiments, the data comprises a picture; the data processing requirements include one or more of picture quality, picture style, picture size, and picture codec format.
In some embodiments, the data processing requirements include picture coding and decoding formats; the processing the raw data based on the data processing requirements comprises: coding the original data according to the picture coding and decoding format in the data processing requirement; and if the original data fails to be coded according to the picture coding and decoding format in the data processing requirement, coding the original data according to a locally preset picture coding and decoding format.
In some embodiments, the data processing requirements include at least two picture coding formats, and the at least two picture coding formats have different priorities; the processing the raw data based on the data processing requirements comprises: coding the original data according to a picture coding and decoding format with high priority; and if the original data fails to be coded according to the picture coding and decoding format with high priority, coding the original data according to the picture coding and decoding format with low priority.
In some embodiments, the method may further comprise: and coding the original data according to a preset picture coding and decoding format.
In some embodiments, the method may further comprise storing said processed data.
One embodiment of the present specification provides a data downloading device. The apparatus may include: the second receiving module is used for receiving the data request; the data request comprises a proxy address; the proxy address comprises a source address parameter, and the source address parameter is obtained by encoding an original address of the data; the analysis module is used for analyzing the proxy address to obtain an original address of the data; a second obtaining module, configured to obtain the data based on at least the original address; and the return module is used for returning the data.
In some embodiments, the parsing module is further configured to parse the proxy address to obtain a data processing requirement of the data; for retrieving the data based at least on the original address, the second retrieving module is further configured to: acquiring original data of the data based on the original address; processing the raw data to obtain the data based on the data processing requirements.
In some embodiments, the original address points to other data sources; the second obtaining module is further configured to obtain the raw data from the other data source.
In some embodiments, the resolution module is configured to resolve the proxy address according to a unified resolution rule.
In some embodiments, the data comprises a picture; the data processing requirements include one or more of picture quality, picture style, picture size, and picture codec format.
In some embodiments, the data processing requirements include at least two picture decoding formats, and the at least two picture coding formats have different priorities; the second obtaining module is further configured to: coding the original data according to a picture coding and decoding format with high priority; and if the original data fails to be coded according to the picture coding and decoding format with high priority, coding the original data according to the picture coding and decoding format with low priority.
In some embodiments, the second obtaining module is further configured to encode the raw data according to a preset picture coding and decoding format.
In some embodiments, the apparatus may further comprise a storage module for storing the data.
One embodiment of the present specification provides a data downloading method. The method may be performed by at least one processor, and may include: receiving a data downloading request; the data downloading request comprises an agent address; judging whether the requested data is stored locally: if yes, directly returning the data; if not, executing: analyzing the proxy address to obtain an original address of the data; obtaining the data based at least on the original address; and returning and storing the data.
In some embodiments, the proxy address includes a source address parameter, where the source address parameter is obtained by encoding an original address of the data.
In some embodiments, by said resolving said proxy address, a data processing requirement of said data is also obtained; the retrieving the data based at least on the original address comprises: acquiring original data of the data based on the original address; processing the raw data to obtain the data based on the data processing requirements.
One embodiment of the present specification provides a data downloading device. The device can comprise a second receiving module, a judging module, an analyzing module, a second obtaining module, a returning module and a storing module; the second receiving module is used for receiving a data downloading request; the data downloading request comprises an agent address; the judging module is used for judging whether the requested data has been stored locally: if yes, the data is directly returned through a return module; if not, then: analyzing the proxy address through an analyzing module to obtain an original address of the data; acquiring, by a second acquisition module, the data based at least on the original address; returning the data through a return module; and storing the data through the storage module.
In some embodiments, the proxy address includes a source address parameter, where the source address parameter is obtained by encoding an original address of the data.
In some embodiments, said resolving, by said resolution module, said proxy address further obtains data processing requirements for said data; for retrieving the data based at least on the original address, the second retrieving module is further configured to: acquiring original data of the data based on the original address; processing the raw data to obtain the data based on the data processing requirements.
One of the embodiments of the present specification provides a computing device that may include at least one processor and at least one memory device for storing instructions that, when executed by the at least one processor, implement a method as in any one of the embodiments of the present specification.
One of the embodiments of the present specification provides a computer-readable storage medium storing computer instructions, and when the computer instructions in the storage medium are read by a computer, the computer executes the method according to any one of the embodiments of the present specification.
One embodiment of the present specification provides a server. The server may include: the content distribution server is used for receiving a data downloading request containing a proxy address, acquiring data specified by the data downloading request based on the analysis result of the proxy address and returning the specified data; and the domain name resolution server is in signal connection with the content distribution server and is used for resolving the proxy address according to a uniform resolution rule.
In some embodiments, the resolution result may include the original address of the data and the data processing requirements; the content distribution server is further configured to obtain original data of the data based on the original address, and to process the original data based on the data processing requirement to obtain the specified data.
Drawings
One or more embodiments of the present specification are further illustrated by way of example embodiments, which are described in detail below and illustrated in the accompanying drawings. These embodiments are not intended to be limiting, and in these embodiments like numerals are used to indicate like structures, wherein:
FIG. 1 is a schematic diagram of an application scenario of a data download device according to some embodiments of the present description;
FIG. 2 is a block diagram of a data download apparatus, shown in accordance with some embodiments of the present description;
FIG. 3 is an exemplary flow diagram of a data download method, shown in accordance with some embodiments of the present description;
FIG. 4 is a block diagram of a data download apparatus according to yet another embodiment of the present description;
FIG. 5 is an exemplary flow chart of a data download method shown according to yet another embodiment of the present description;
FIG. 6 is a block diagram of a data download apparatus according to yet another embodiment of the present description; and
fig. 7 is an exemplary flowchart illustrating a data download method according to still another embodiment of the present specification.
Detailed Description
In order to more clearly illustrate the technical solution of one or more embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only examples or embodiments of the present description, and that for a person skilled in the art, one or more embodiments of the present description can also be applied to other similar scenarios according to these drawings without inventive effort. Unless otherwise apparent from the context, or otherwise indicated, like reference numbers in the figures refer to the same structure or operation.
It should be understood that "system", "device", "unit" and/or "module" as used herein is a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, other words may be substituted by other expressions if they accomplish the same purpose.
As used in one or more embodiments of the present specification and in the claims, the terms "a," "an," and/or "the" are not intended to be inclusive of the plural form as long as the context clearly indicates the exception. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements. The term "local" may be understood as an executing device or other device having data interaction with an executing device for the steps of a method shown in one or more embodiments of the present specification, or may be understood as a storage device for a computer program implementing a method described in one or more embodiments of the present specification or other device having data interaction with a storage device.
In one or more embodiments of the present description, flowcharts are used to illustrate operations performed by an apparatus according to one or more embodiments of the present description. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, the various steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to the processes, or a certain step or several steps of operations may be removed from the processes.
One or more embodiments of the present disclosure may be applied to different data downloading devices, for example, a browser of a mobile terminal, an application program of a mobile terminal, and the like. The data download request, the picture download request, and the like described in one or more embodiments of the present specification are interchangeable, and refer to content that requires or requests a download service.
Fig. 1 is a schematic diagram of an application scenario of a data download system 100 according to some embodiments of the present description. The data download system 100 may be a platform for various types of internet-based services. Such as online shopping, financial services, insurance services, loan services, money and money transfer services, and the like. In some embodiments, the data download system 100 may implement a data transfer or download service. Such as audio data downloads, picture downloads, video downloads, and the like. The data download system 100 can accommodate different data compression formats to accommodate different data formats between different devices (e.g., between a server and a client); the size of network data resources is also reduced by encoding and compressing the data to save traffic. As shown in FIG. 1, the data download system 100 may include a server 110, a storage device 120, one or more terminals 130, and a network 140.
In some embodiments, server 110 may process data and/or information obtained from terminals 130, storage devices 120. For example, server 110 may access information and/or data stored in storage device 120, terminal 130 via network 140. As another example, the server 110 may be directly connected to the terminal 130 and the storage device 120 to access information and/or material stored therein. Specifically, the server 110 may receive a data request from the terminal 130, obtain corresponding data according to the data request, and return the data to the terminal 130. In some embodiments, the server 110 may retrieve corresponding data from a local, other server, or storage device 120 for return to the terminal 130.
In some embodiments, the server 110 may be local or remote. In some embodiments, the server 110 may be a stand-alone server or a group of servers. When the server 110 is a server group, the server 110 may include more than one server, and these servers may work together with each other to backup or manage different functions. For example, as shown in FIG. 1, the server 110 may include a content distribution server 110-1 and a domain name resolution server 110-2, and the like. In some embodiments, content distribution server 110-1 may process data and/or information related to the service request to perform one or more of the functions described herein. For example, the content distribution server 110-1 may receive a data download request including a proxy URL, and obtain data specified in the data download request based on the resolution result of the proxy URL, and return the specified data. For another example, the content distribution server 110-1 may store the processed data. For another example, the content distribution server 110-1 may also determine whether the requested data is stored locally, and if so, return the data directly. Domain name resolution server 110-2 may process data and/or information related to the service request to perform one or more of the functions described herein. For example, the domain name resolution server 110-2 may have a signal connection with the content distribution server for resolving the proxy URL according to a uniform resolution rule, obtaining the original URL of the data and the data processing requirements. As another example, the domain name resolution server 110-2 may retrieve the raw data for the data based on the raw URL. In some embodiments, the server farm may be centralized or distributed (e.g., server 110 may be a distributed system).
In some embodiments, the server 110 may be implemented on a cloud platform. For example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, between clouds, multiple clouds, the like, or any combination thereof.
In some embodiments, server 110 may include one or more sub-processing devices (e.g., single-core processors or multi-core processors). By way of example only, the server 110 may include a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), an Application Specific Instruction Processor (ASIP), a Graphics Processing Unit (GPU), a Physical Processing Unit (PPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), a programmable logic circuit (PLD), a controller, a micro-controller unit, a Reduced Instruction Set Computer (RISC), a microprocessor, or the like, or any combination thereof.
Storage device 120 may store data and/or instructions. In some embodiments, storage device 120 may store data/information (e.g., pictures) requested by terminal 130. The storage device 120 may also store processed data, such as processed pictures, processed videos, and the like. In some embodiments, storage device 120 may store data and/or instructions for execution or use by server 110 to perform the exemplary methods described in this application. For example, the storage device 120 may store rules for resolving proxy URLs. In some embodiments, the storage device 120 may be part of the server 110 or the terminal 130. In some embodiments, storage device 120 may include mass storage, removable storage, volatile read-write memory, read-only memory (ROM), and the like, or any combination thereof. Exemplary mass storage devices may include magnetic disks, optical disks, solid state disks, and the like. Exemplary removable memory may include flash drives, floppy disks, optical disks, memory cards, compact disks, magnetic tape, and the like. Exemplary volatile read-only memory can include Random Access Memory (RAM). Exemplary RAM may include Dynamic RAM (DRAM), double-data-rate synchronous dynamic RAM (DDR SDRAM), Static RAM (SRAM), thyristor RAM (T-RAM), zero-capacitance RAM (Z-RAM), and the like. Exemplary ROMs may include Mask ROM (MROM), Programmable ROM (PROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), compact disk ROM (CD-ROM), digital versatile disk ROM, and the like. In some embodiments, storage device 120 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-tiered cloud, and the like, or any combination thereof. For example, in the present application, some algorithms or data for data downloading may be stored on a certain cloud platform, and updated periodically, and the server 110 accesses these algorithms or data through a network, so as to implement uniform and interactive algorithms or data of the whole platform. In particular, some historical data may be uniformly stored on one cloud platform of the platform, so that a plurality of servers 110 or terminals 130 can access or update the historical data, and real-time performance and cross-platform use of the data are guaranteed.
In some embodiments, the storage device 120 may be connected to a network 140 to communicate with one or more components (e.g., server 110, terminal 130) in the data download system 100. One or more components in the data download system 100 may access data or instructions stored in the storage device 120 through the network 140. In some embodiments, the storage device 120 may be directly connected or in communication with one or more components (e.g., server 110, terminal 130) in the data download system 100. In some embodiments, storage device 120 may be part of server 110.
In some embodiments, terminal 130 may be a device with data acquisition, storage, and/or transmission capabilities. In some embodiments, terminal 130 may receive one or more inputs from a user to obtain a user request for data. In some embodiments, the terminal 130 may process the data request, generate a proxy URL, and send the data request to one or more servers via the proxy URL. In some embodiments, the terminal 130 may be used to obtain various types of data, including but not limited to data returned by the server based on the data request. For example, the data acquired by the terminal 130 may include instant messaging data, text, pictures, video, sound, and the like.
In some embodiments, the terminal 130 may include, but is not limited to, a mobile device 130-1, a tablet 130-2, a laptop 130-3, a desktop 130-4, and the like, or any combination thereof. In some embodiments, mobile device 130-1 may include, but is not limited to, smart home devices, wearable devices, smart mobile devices, augmented reality devices, and the like, or any combination thereof in some embodiments, wearable devices may include smart bracelets, smart footwear, smart glasses, smart helmets, smart watches, smart clothing, smart backpacks, smart accessories, and the like, or any combination thereof. In some embodiments, the smart mobile device may include a smartphone, a Personal Digital Assistant (PDA), a gaming device, a navigation device, a POS machine, or the like, or any combination thereof. In some embodiments, the terminal 130 may also receive and/or display data returned or processed by the server 110. In some embodiments, multiple terminals may be interconnected to receive and/or display various types of data together, and one or more terminals may preprocess the data.
Network 140 may facilitate the exchange of information and/or data. In some embodiments, one or more components in the data download system 100 (e.g., the server 110, the storage device 120, and the terminal 130) may send and/or receive information and/or data to/from other components in the data download system 100 via the network 140. For example, the server 110 may obtain data/information related to the data request from the terminal 130 through the network 140. As another example, terminal 130 may obtain data from server 110 or storage device 120 via network 140. As another example, server 110 may obtain data from storage device 120 or other servers via a network. In some embodiments, the network 140 may be any form or combination of wired or wireless network. By way of example only, network 140 may include a cable network, a wireline network, a fiber optic network, a telecommunications network, an intranet, the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a Wireless Local Area Network (WLAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a Public Switched Telephone Network (PSTN), a Bluetooth network, a ZigBee network, a Near Field Communication (NFC) network, a Global System for Mobile communications (GSM) network, a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a General Packet Radio Service (GPRS) network, an enhanced data rates for GSM evolution (EDGE) network, a Wideband Code Division Multiple Access (WCDMA) network, a High Speed Downlink Packet Access (HSDPA) network, a Long Term Evolution (LTE) network, a User Datagram Protocol (UDP) network, a Transmission control protocol/Internet protocol (TCP/IP) network, a Short Message Service (SMS) network, a Bluetooth network, a communication network, a wireless communication system, a method of operating system, a wireless communication system, a method of operating a wireless communication system, a method of operating a wireless communication system, a method of operating a wireless communication system, a method of operating system, a wireless communication system, a method of operating a wireless communication system, a method of a wireless communication system, a method of operating a method of operating system, a wireless communication system, a method of a wireless communication system, a method of operating a wireless communication system, and a wireless communication system, a method of a wireless communication system, a method of operating system, a method of operating system, a method of a wireless, A Wireless Application Protocol (WAP) network, an ultra-wideband (UWB) network, a mobile communication (1G, 2G, 3G, 4G, 5G) network, Wi-Fi, Li-Fi, narrowband Internet of things (NB-IoT), and the like, or any combination thereof. In some embodiments, the data download system 100 may include one or more network access points. For example, the data download system 100 may include wired or wireless network access points, such as base stations and/or wireless access points 140-1, 140-2, through which one or more components of the data download system 100 may connect to the network 140 to exchange data and/or information.
Fig. 2 is a block diagram of a data download device 200, shown in accordance with some embodiments of the present description. As shown in fig. 2, the data downloading apparatus 200 may include a first obtaining module 202, a determining module 204, an address processing module 206, and a transmitting module 208.
The first retrieving module 202 may be used to retrieve a request for data.
Further description of obtaining a request for data may be found elsewhere in this application (e.g., in step 302 and its associated description), and will not be repeated herein.
The determination module 204 may be configured to determine an original URL of the data based on the request for data.
In some embodiments, the original URL of the data may be the original storage address of the data. Further description of determining the original URL of the data may be found elsewhere in this application (e.g., in step 304 and its associated description), and will not be repeated herein.
The address processing module 206 may be configured to determine whether the domain name in the original URL includes a specified domain name.
In some embodiments, in response to the domain name in the original URL not including the specified domain name, the URL processing module 206 may encode the original URL to obtain a source address parameter; a proxy URL for the data may also be generated, where the proxy URL includes a specified domain name and the source address parameter. In some embodiments, the request for data further includes data processing requirements. In some embodiments, the URL processing module 206 may process the data processing requirement based on preset rules to generate processing parameters. In some embodiments, in response to the domain name in the original URL not including the specified domain name, URL processing module 206 may also generate a proxy URL for the data, where the specified domain name, the source address parameter, and the processing parameter are included in the proxy URL. In some embodiments, in response to the domain name in the original URL including the specified domain name, URL processing module 206 may also add processing parameters to the original URL to generate a proxy URL for the data; or replacing the original processing parameters in the original URL with the processing parameters to generate the proxy URL of the data. Further description of whether the domain name in the original URL includes the specified domain name may be found elsewhere in this application (e.g., in step 306 and its associated description), and will not be described herein.
The sending module 208 may be configured to send a data download request according to the proxy URL.
Further description of sending a data download request according to the proxy URL may be found elsewhere in this application (e.g., in step 308 and its associated description), and will not be repeated herein.
In some embodiments, the data downloading device 200 may further include a first receiving module 210, and the first receiving module 210 may be configured to receive data returned by the server.
Further description of the data returned by the receiving server may be found elsewhere in this application (e.g., in step 310 and its associated description), and will not be described herein.
In some embodiments, the data downloading device 200 may further include a presentation module 212, and the presentation module 212 may be used to present the data returned by the server.
More details about the data returned by the presentation server can be found elsewhere in this application (e.g., in step 312 and its related description), and are not described herein.
It should be understood that the apparatus shown in fig. 2 and its modules may be implemented in various ways. For example, in some embodiments, an apparatus and its modules may be implemented by hardware, software, or a combination of software and hardware. Wherein the hardware portion may be implemented using dedicated logic; the software portions may then be stored in a memory for execution by a suitable instruction execution device, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and apparatus described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided for example on a carrier medium such as a diskette, CD-or DVD-ROM, a programmable memory such as read-only memory (firmware) or a data carrier such as an optical or electronic signal carrier. Apparatuses and modules according to one or more embodiments of the present specification may be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, or the like, but also by software executed by various types of processors, for example, or by a combination of the above hardware circuits and software (e.g., firmware).
It should be noted that the above description of the data downloading device and the modules thereof is only for convenience of description, and the description should not be limited to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, having the benefit of the teachings of this apparatus, any combination of the various modules or sub-apparatus may be configured to connect to other modules without departing from such teachings. For example, the first receiving module 210 and the presenting module 212 may be the same module, and the first receiving module 210 may be configured to receive data returned by the server and present the data. Such variations are within the scope of the present disclosure.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Fig. 3 is an exemplary flow diagram of a data download method 300, shown in accordance with some embodiments of the present description. In some embodiments, flow 300 may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (instructions run on a processing device to perform hardware simulation), etc., or any combination thereof. One or more of the operations for the data download method 300 shown in fig. 3 may be implemented by the data download system 100 shown in fig. 1. For example, the process 300 may be stored in the storage device 120 in the form of instructions and executed and/or invoked by the terminal 130. In some embodiments, one or more of the operations illustrated in FIG. 3 may also be implemented by other servers (not shown in FIG. 1) on the network.
Step 302, a request for data is obtained. Specifically, this step 302 may be performed by the first obtaining module 202.
In some embodiments, the data may include sounds, pictures, text, or symbols. In some embodiments, one or more input actions by the user may be obtained, which actions may reflect the user's request for data and the content the request contains. The request for data may include an access directory, a file name, a storage address, and/or data processing requirements for the requested data, among others. In some embodiments, a user may initiate a request for data (e.g., view or download data) through an application on terminal 130. In some embodiments, the application program may present preview icons of some pictures, and the user may trigger a request for the pictures by clicking the preview icon of the corresponding picture, or the user may trigger a request for the data by clicking a play control of a piece of video or a piece of audio, or the user may trigger a request for the data by clicking a link address of music, a picture, or a video, or the user may directly click a download control of the data to trigger a request for the data. In some embodiments, the user may also directly enter a request for data and the content it contains.
In some embodiments, one or more input operations by a user may be processed to determine a request for data and the content it includes.
In some embodiments, the request for data may include a storage address for the data. The storage address of the data is intended to point to the device storing the requested data, which may be a network address, a logical address, a bus address, etc. of the device. The device may be remote or local. Specifically, the device may be a server, a user terminal, or some storage device. The storage address may be identified by a domain name, may be represented by an IP address, or may be an explicit data address, such as a URL. The present application mainly describes the storage address of the data as a URL, but the URL should not be taken as a limitation of the storage address of the data in the present application.
In some embodiments, the request for data may also include data processing requirements. In some embodiments, the data may comprise a picture and the data processing requirements may comprise one or more of picture quality, picture style, picture size, and picture codec format. In some embodiments, the picture quality may include parameter requirements of resolution, signal-to-noise ratio, contrast, gray value, etc. of the picture. In some embodiments, the picture style may include parameter requirements for the picture, such as filter effect, orientation, or angle. In some embodiments, the picture size may include a specified picture width or picture height. For example, width (w)100px, height (h)100 px. In some embodiments, the picture codec format may include HEIF, WebP, JPG, JPEG, TIFF, PNG, DNG, BMP, GIF, PSD, DXF, RAW, or the like. In some embodiments, the data processing requirements may include two or more picture codec formats. It should be noted that, in some embodiments, the picture coding and decoding format may indicate both the coding rule and the decoding rule. In some embodiments, the coding format of a picture may also indicate only coding rules or decoding rules. In some embodiments, the meaning of the codec format may be different for different execution subjects, for example, for the end that implements data compression encoding, such as a server end, which may determine the compression encoding rules of the picture from the codec format, and for the end that implements data decoding, such as a terminal, which may determine the decoding rules of the picture from the picture codec format. In some embodiments, two or more picture codec formats may have different priorities. In some embodiments, the terminal 130 may support multiple picture coding formats, e.g., the terminal may support decoding of multiple picture coding formats. The terminal may include a plurality of picture codec formats supported by the terminal in the data processing requirement so that the server 110 selects a codec format supported by the terminal 130 to encode or compress the picture. In some embodiments, the terminal may note the priorities of the different codec formats in the data processing requirements so that the server 110 (e.g., the content distribution server 110-1) may encode the picture with the priority of the codec format. For example, the data processing requirement sent by the terminal 130 includes three picture coding and decoding formats of HEIF, WebP, and JPG, and the priority of the picture coding and decoding formats of HEIF, WebP, and JPG may be the highest HEIF, the second WebP, and the lowest JPG; the server 110 (e.g., the content distribution server 110-1) encodes the picture in the HEIF format first when encoding and decoding the picture according to the data processing requirement of the terminal 130, and encodes the picture again using the WebP format if the encoding fails; if the encoding fails, the JPG format is continuously used for encoding the picture, and if the encoding succeeds, the encoding operation is completed. In some embodiments, if the server 110 cannot encode pictures in all the codec formats required by the terminal 130, the server 110 may return pictures to the terminal 130 that are not encoded or compressed. In some embodiments, the manner of codec may include Base64 encoding, Base32 encoding, XXencode encoding, uuencod encoding, and so forth. The above description of data processing requirements is by way of example only, and the invention is not limited in any way to the particular content or form of the data processing requirements.
At step 304, the original URL of the data is determined based on the request for the data. In particular, this step 304 may be performed by the determination module 204.
The original URL may be understood as a URL of data determined directly based on a request for data. In this application, the original URL is referred to some extent to distinguish it from subsequent proxy URLs. When the original URL meets the set requirement, the original URL can be directly used as a proxy URL; when the original URL does not meet the set requirement, for example, the domain name included in the original URL is not the designated domain name, and for example, the processing parameter included in the original URL is not encoded according to the preset rule, one or more parameters in the original URL need to be changed to obtain the proxy URL corresponding to the original URL.
In some embodiments, the request for data may include a storage address for the data. The storage address may be identified by a domain name, an IP address, or an explicit data address, such as a URL. In some embodiments, the URL may include a protocol portion, a domain name portion, a port portion, a virtual directory portion, a file name portion, an anchor portion, and a parameters portion. Wherein, the protocol part and the domain name part are necessary, and the rest can be in default. The following describes the components of a specific URL as an example:
http://www.domain.com:8080/news/objectboardID=5&ID=24618&page=1#name。
the protocol portion may include, among other things, the HTTP protocol used by the web page. For example, "http: ". The domain name portion may be "www.aspxfans.com". In some alternative embodiments, the domain name portion may also use an IP address. The port part may be the content behind the domain name, used between the domain name and the port ": "as a separator. For example, the port section is "8080". The port portion may be omitted. If the port portion is omitted, a default port will be used. The virtual directory portion may be the contents from the first "/" after the domain name to the last "/". For example, the virtual directory is "/news/". The filename portion may be from the last "/" after the domain name to "? "so far. For example, the file name is "index. If the filename part is omitted, the default filename is used. The anchor portion may be content starting with "#" to the end of the URL. For example, the anchor portion is "name". The parameter part may be from "? The parameter part is also called search part and inquiry part. For example, the parameter portion is "boardID ═ 5& ID ═ 24618& page ═ 1". The parameter may allow for multiple parameters with "&" as a delimiter between parameters.
When the deposit address is identified by a domain name or IP address, the original URL may be determined based on the domain name or IP address, in which case the original URL may include only a protocol portion and a domain name portion. For example, if the storage address of the requested data is identified by the domain name www.userdomain.com, then the original URL may be determined to be http:// www.userdomain.com. In some embodiments, the request for data may further include information such as a file name and a data processing requirement, and these parameters may be spliced together with the storage address, the file name and the data processing requirement according to a URL composition rule to obtain an original URL. For example only, if the current request for data includes a data storage address of www.integrate.com, a file name of object1, and a data processing requirement is that a gif map with 50 width and 80 height is required, the original URL can be generated according to the above information: http:// www.integrate.com/object1#50w _80h.
When the data request indicates the storage address of the data by the URL, the URL may be directly determined as the original URL. In some embodiments, the URL also carries a file name and/or a data processing requirement. For example, http:// www.userdomain.com/object2#100 x 100&90Q & jpg. Where object2 is a file name, 100 × 100&90Q & jpg represents a picture in which a width (w)100px (pixels), height (h)100px, absolute quality (Q) 90%, and jpg format are required.
Step 306, determining whether the original URL points to a specified device by determining whether the domain name in the original URL includes the specified domain name, in response to the domain name in the original URL not including the specified domain name: encoding the original URL to obtain a source address parameter; and generating a proxy URL of the data, wherein the proxy URL comprises the specified domain name and the source address parameter. In particular, this step 306 may be performed by the URL processing module 206.
In some embodiments, the domain name may be the name of a computer or group of computers on the Internet that are comprised of a string of names separated by dots, or an IP address that identifies the electronic location of the computer at the time of data transmission. In some embodiments, it may be preselected to determine a specified domain name that points to a particular server or group of servers. For example only, the specified domain name is www.integrate.com.
The original URL may include the specified domain name pointing to the specified device, or may include domain names pointing to other devices. In some embodiments, it may be determined whether the domain name in the original URL is a specified domain name. In response to the domain name in the original URL not being the specified domain name, the original URL needs to be processed to obtain a proxy URL pointing to the particular server. For example, the original URL:
http:// www.userdomain.com/object2#100w _100h _90Q.jpg, Domain name
www.userdomain.com are not designated domain names. As another example, the original URL:
gif, domain name www.integrate.com is the designated domain name.
In some embodiments, if the domain name in the original URL does not include the specified domain name, the original URL may be encoded to obtain the source address parameter. For example, the original URL may be:
http:// www.userdomain.com/object2#100w _100h _90Q.jpg, encoded to obtain the source address parameter: aHR0cHM6Ly9ndy5 hbGlw. The rules for encoding the original URL may be predefined, for example, the encoding rules may correspond to a portion of domain name resolution rules on the particular server. The correspondence may be understood as being the same or a codec relationship. In some embodiments, the original URL may also be encrypted. In some embodiments, the original URL may also be provided with a check code. In some embodiments, the original URL may also have a different version. For example, the original URL carries a version number. In some embodiments, the original URL may also be compressed. In some embodiments, if the domain name in the original URL does not include the specified domain name, a proxy URL may also be generated, which may include the specified domain name and the source address parameter. For example, the proxy URL may be:
https:// www.integrate.com/aHR0cHM6Ly9ndy5 hbGlw. In some embodiments, the proxy URL may also include a filename, processing parameters, and/or other components in the URL.
In some embodiments, the data processing requirement in the request for data may be further processed according to a preset rule to obtain a processing parameter, and the processing parameter is written into the proxy URL. Taking pictures as an example, the preset rules may include picture quality, picture style, picture size, and arrangement or sequence of picture coding and decoding formats. The preset rule may be predetermined. For example, may correspond to at least a portion of a URL resolution rule on the particular server. The data processing requirements are processed according to the preset rules, so that the specified equipment can be ensured to analyze and identify the data processing requirements, and the data processing requirements can be processed according to the requirements. In some embodiments, the data processing requirements in the request for data may be obtained directly, or by parsing the original URL. For example only, if the data processing request is a picture with a width (w) of 100px, a height (h) of 100px, an absolute quality (Q) of 90%, and a jpg format, the processing parameter with a format of "@ 100w _100h _90 q.jpg" is generated after the data processing request is processed by a preset rule.
In some alternative embodiments, if the domain name in the original URL includes the specified domain name, the original URL may be directly used as the proxy URL, or the processing parameters may be obtained by processing the data processing requirements in the request for the data in a similar manner as described above, and the processing parameters are added to the original URL to generate the proxy URL for the data. In some embodiments, if the domain name in the original URL includes the specified domain name and the original processing parameters are included in the original URL, the processing parameters may be used to replace the original processing parameters in the original URL to generate the proxy URL for the data. For example, the original URL is http:// www.integrate.com/object #100 × 100&90Q & jpg, wherein the original processing parameter is 100 × 100&90Q & jpg, the data processing requirement obtained by analyzing 100 × 100&90Q & jpg is a picture in a jpg format which needs 100px wide, 100px high and 90 absolute quality, the data processing requirement is processed according to a preset rule to obtain a processing parameter of 100w _100h _90Q.jpg, and the generated proxy URL can be http:// www.integrate.com/object #100w _100h _90 Q.jpg.
By processing the original URL, the original URL is converted into a proxy URL which points to the same device and/or is coded by a uniform rule, and the domain name convergence of the data resource can be realized.
Step 308, sending a data download request according to the proxy URL. In particular, this step 308 may be performed by the sending module 208.
In some embodiments, the data download request may carry a proxy URL, and the proxy URL may include a requirement of the application program in the terminal 130 for data. In some embodiments, the sending module 208 may send the data download request to the server 130 according to the proxy URL.
The data downloading request is directed to a specific server by sending the proxy URL request downloading data carrying the designated domain name, the processing parameters of the preset rule and the source address parameters, and the server can perform domain name resolution and data downloading processing according to the unified rule, so that domain name convergence of data resources can be realized, and the time consumption of overall data transmission is reduced to a certain extent.
In some embodiments, step 310 may also be included, receiving data returned by the designated device. In particular, this step 310 may be performed by the first receiving module 210.
In some embodiments, the data returned by the designated device may include processed data (e.g., pictures). The server can process the data according to the data processing requirements, for example, clipping or coding or compressing pictures or reducing the image quality, so that the data volume is reduced, and therefore, the flow required by the terminal for receiving the return data is reduced, so that the flow can be saved. In addition, the data processing is completed on the designated equipment, the user terminal can directly acquire the required data without reprocessing, and the operation resource of the user terminal is saved.
In some embodiments, the first receiving module 210 may first parse a header of data (e.g., a picture) to obtain a picture codec format of the data. In some embodiments, the first receiving module 210 may perform decoding rendering on the picture according to a picture coding and decoding format, so as to obtain the picture required by the terminal 130.
In some embodiments, step 312 may also be included to present the data returned by the designated device. In particular, this step 312 may be performed by the presentation module 212.
In some embodiments, the presentation module 212 may present the data returned by the server based on the data requirements of the application in the terminal 130. Specifically, the data returned by the server may be displayed through a display interface of the terminal 130.
It should be noted that the above description of the process 300 is for illustration and description only and is not intended to limit the scope of the present disclosure. Various modifications and changes to flow 300 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description. For example, steps 310 and 312 may be omitted. For another example, step 314 may be further included, if the domain name in the original URL includes the specified domain name, the URL processing module 206 may add the processing parameter to the original URL to generate the proxy URL of the data, or replace the original processing parameter in the original URL with the processing parameter to generate the proxy URL of the data.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Fig. 4 is a block diagram of a data downloading apparatus 400 according to still another embodiment of the present specification. As shown in fig. 4, the data downloading device 400 may include a second receiving module 402, a parsing module 404, a second obtaining module 406, a returning module 408 and a storing module 410. In some embodiments, the second receiving module 402, the parsing module 404, the second obtaining module 406, the returning module 408, and the storing module 410 may be included in the server 110 shown in fig. 1.
The second receiving module 402 may be configured to receive a data download request, where the data download request includes a proxy URL.
Further description of receiving the data download request can be found elsewhere in this application (e.g., in step 502 and its related description), and will not be described herein.
The parsing module 404 may be configured to parse the proxy URL to obtain an original URL of the data.
In some embodiments, the parsing module 404 may also be configured to parse the proxy URL to obtain data processing requirements for the data. In some embodiments, parsing the proxy URL may include parsing according to a unified parsing rule. Further description of resolving the proxy URL may be found elsewhere in this application (e.g., in step 504 and its associated description), and will not be repeated here.
The second retrieval module 406 may be configured to retrieve the data based at least on the original URL.
In some embodiments, the data may include sounds, pictures, text, or symbols. Further description of obtaining the data based on the original URL may be found elsewhere in this application (e.g., in step 506 and its related description), and will not be repeated herein.
In some embodiments, the second obtaining module 406 may further obtain raw data of the data based on the raw URL; the raw data is processed to obtain the data based on data processing requirements. Specifically, the second obtaining module 406 may preferentially encode the original data according to a picture coding and decoding format with a high priority. Further description of the processing of the raw data may be found elsewhere in this application (e.g., in step 506 and its associated description), and will not be repeated herein.
The return module 408 may be used to return the data.
In some embodiments, the data may include processed data as required by the data processing. Further details regarding the return of the data may be found elsewhere in this application (e.g., in step 508 and its associated description), and will not be repeated herein.
The storage module 410 may be used to store the processed data.
Further description of locally storing the processed data may be found elsewhere in this application (e.g., in step 510 and its associated description), and will not be described herein.
It should be understood that the apparatus shown in fig. 4 and its modules may be implemented in various ways. For example, in some embodiments, an apparatus and its modules may be implemented by hardware, software, or a combination of software and hardware. Wherein the hardware portion may be implemented using dedicated logic; the software portions may then be stored in a memory for execution by a suitable instruction execution device, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and apparatus described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided for example on a carrier medium such as a diskette, CD-or DVD-ROM, a programmable memory such as read-only memory (firmware) or a data carrier such as an optical or electronic signal carrier. The apparatus and modules thereof in this specification may be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but also by software executed by various types of processors, for example, or by a combination of the above hardware circuits and software (e.g., firmware).
It should be noted that the above description of the data downloading device and the modules thereof is only for convenience of description, and the description should not be limited to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, having the benefit of the teachings of this apparatus, any combination of the various modules or sub-apparatus may be configured to connect to other modules without departing from such teachings. For example, the return module 408 and the storage module 410 may be the same module, and the return module 408 is used to return the data and store the data. For example, the modules in the data downloading device may be located on the same server, or may belong to different servers. For example only, the resolution module 404 may be located on a domain name resolution server, and the second receiving module 402, the second obtaining module 406, the returning module 408, and the storing module 410 may be located on a content distribution server. Such variations are within the scope of the present disclosure.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
In some embodiments, the server may receive a proxy URL from the terminal. And analyzing the proxy URL according to a preset uniform analysis rule to obtain a data storage address and a data processing requirement in the request for the data. The parsing rule is used for stipulating the sequence, the spacers and the meaning of each component in the URL. Exemplary parsing rules may refer to the relevant description of the URL composition in step 304. In some embodiments, the parsing rules may further include decoding rules for source address parameters and decoding rules for processing parameters. The decoding rules of the source address parameters and the decoding rules of the processing parameters can be agreed in advance according to actual needs. Through the resolution of the proxy URL, whether the source address parameter is included in the proxy URL or not can be determined, and what the original URL corresponding to the source address parameter is can be determined. When the proxy URL does not include the source address parameter, the original URL of the data may be considered to point to the server itself, that is, the storage address of the data is local to the server or on a storage device in network communication with the server, and the server may obtain the requested data on the local or corresponding storage device, process the data according to the data processing requirement, and then return the data.
Fig. 5 is an exemplary flow diagram of a method 500 of data download according to further embodiments of the present description. In some embodiments, flow 500 may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (instructions run on a processing device to perform hardware simulation), etc., or any combination thereof. One or more of the operations illustrated in fig. 5 for the data download flow 500 may be implemented by the data download system 100 illustrated in fig. 1. For example, the process 500 may be stored in the storage device 120 in the form of instructions and executed and/or invoked by the server 110.
Step 502, receiving a data downloading request; the data download request comprises a proxy URL. In some embodiments, step 502 may be performed on content distribution server 110-1. In particular, this step 502 may be performed by the second receiving module 402.
In some embodiments, a source address parameter may be included in the proxy URL, and the source address parameter may be encoded in an original URL of the data. Further description of the data download request can be found elsewhere in this application (e.g., in flowchart 3 and related description), and will not be repeated herein. The second receiving module 402 may receive a data download request.
At step 504, the proxy URL is parsed to obtain at least the original URL of the data. In some embodiments, step 504 may be performed on domain name resolution server 110-2. In particular, this step 504 may be performed by the parsing module 404. The content distribution server 110-1 may transmit the proxy URL to the domain name resolution server through the network.
In some embodiments, the original URL may point to other devices, e.g., the original URL includes a domain name pointing to other data sources. In some embodiments, domain names that point to other data sources may be understood as other domain names in addition to the specified domain name, e.g., www.userdomain.com. In some embodiments, other data sources may include other servers or other storage devices in other networks, and the like. Further description of the original URL and data processing requirements may be found elsewhere in this application (e.g., in flowchart 3 and related description), and will not be repeated herein.
In some embodiments, the proxy URL is parsed and data processing requirements may also be obtained. In some embodiments, the data may include a picture. In some embodiments, the data processing requirements may include one or more of picture quality, picture style, picture size, picture codec format.
In some embodiments, the data processing requirements may include at least two picture codec formats. In some embodiments, at least two picture codec formats may have different priorities. Further description of data processing requirements and picture coding and decoding formats may be found elsewhere in this application (e.g., in flowchart 3 and related description), and will not be repeated herein.
The proxy URL is analyzed according to a uniform analysis rule, so that the server can conveniently download and process data; in addition, the data processing requirements can include two or more than two picture coding and decoding formats, so that the requirements of multiple data formats can be compatible, and the user experience of data loading is improved. In some embodiments, the domain name resolution server 110-2 may send the resolved data to the content distribution server 110-1.
In step 506, the data is retrieved based at least on the original URL. In some embodiments, step 506 may be implemented by the content distribution server 110-1. In particular, this step 506 may be performed by the second obtaining module 406.
In some embodiments, the raw data may be obtained to other data sources based on the raw URL. The raw data may include data stored under the original domain name corresponding to the original URL, may include original sound, original pictures, original text, or original symbols that have not been processed in accordance with the data processing request, and may be, for example, data that has not been compression-encoded or cropped. In some embodiments, the second retrieval module 406 may retrieve the raw data of the data based on the raw URL.
The original data can be obtained through the original URL and can be downloaded to the data meeting the requirements of the terminal.
In some embodiments, the raw data may also be processed based on data processing requirements.
In some embodiments, the second acquisition module 406 may process the raw data based on data processing requirements. The processing of the raw data may comprise any data manipulation, which may for example comprise clipping, compression of the data. Taking a picture as an example, the processing may include cropping the picture by a preset size, performing color transformation, brightness adjustment, contrast transformation, and the like on the image. Taking the audio data as an example, the audio data may be selected, truncated, timbre-transformed, etc. This is not dealt with in the present application. The data processing requirements may also include coding requirements for data. In some embodiments, one or more codec formats may be included in the data processing requirements, with different codec formats having different priorities. Specifically, the second obtaining module 406 may encode the original data in an encoding and decoding format with a high priority; and if the encoding of the original data by the encoding and decoding format with high priority fails, encoding the original data according to the encoding and decoding format with low priority. In some embodiments, if the encoding according to the encoding/decoding format in the data processing requirement fails, the second obtaining module 406 may further encode the original data according to a locally preset encoding/decoding format. In some embodiments, the locally preset codec format may include any codec format other than data processing requirements. In some embodiments, the reason for the failure to encode the original data may include a network environment reason or an incompatible encoding format, and the like. In some embodiments, the data processing requirement may not include a requirement for encoding data, and at this time, the original data may be encoded directly according to a locally preset encoding and decoding format. More details about the codec can be found elsewhere in this application (e.g., in step 302 and its related description), and are not described herein. The data are encoded, the size of the data can be reduced to a certain degree, and the flow optimization effect is achieved. And through the coding and decoding formats with the priority, the data formats of the terminal and the server can be compatible, and the user experience of data loading is improved.
Step 508, return the data. In some embodiments, step 508 may be implemented by content distribution server 110-1. In particular, this step 508 may be performed by the return module 408.
In some embodiments, the data may include processed data as required by the data processing. In some embodiments, the return module 408 may return the data.
By returning the processed data to the terminal 130, the amount of the processed data is reduced, and the terminal can achieve the effect of saving traffic when downloading.
In some embodiments, step 510 of storing the data may also be included. In particular, this step 510 may be performed by the storage module 410.
In some embodiments, the storage module 410 may store the processed data locally. Specifically, the storage module 410 may store the processed data in the storage device 120, and use at least a portion of the proxy URL, such as the source address parameter and/or the processing parameter, and further such as the proxy URL, as an index of the processed data. In some embodiments, one or more combinations of data processing requirements, file names, and storage addresses of the data may also be used as an index. When the same data request exists in the follow-up process, the processed data can be directly obtained and returned, and therefore the consumption of computing resources is reduced.
It should be noted that the above description related to the flow 500 is only for illustration and description, and does not limit the applicable scope of the present specification. Various modifications and changes to flow 500 may occur to those skilled in the art, given the benefit of this description. However, such modifications and variations are intended to be within the scope of the present description. For example, the processed data may be stored directly by the return module 408 in step 508 without step 510.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Fig. 6 is a block diagram of a data download apparatus 600 according to yet another embodiment of the present description. As shown in fig. 6, the data downloading apparatus 600 may include a second receiving module 602, a determining module 604, a parsing module 606, a second obtaining module 608, a returning module 610, and a storing module 612. In some embodiments, the second receiving module 602, the determining module 604, the parsing module 606, the second obtaining module 608, the returning module 610, and the storing module 612 may be included in the server 110 shown in fig. 1.
The second receiving module 602 may be configured to receive a data download request, where the data download request includes a proxy URL.
Further description of receiving the data download request can be found elsewhere in this application (e.g., in step 702 and its associated description), and will not be described herein.
The decision block 604 may be used to determine whether the requested data is stored locally.
In some embodiments, if the requested data is stored locally, the data may be returned directly through the return module 610. By directly returning the locally stored request data, the effect of saving operation resources can be achieved.
In some embodiments, if the requested data is not stored locally, the following operations may be performed by the parsing module 606, the second obtaining module 608, the returning module 610, and the storing module 612.
In some embodiments, the parsing module 606 may parse the proxy URL, obtaining the original URL of the data. In some embodiments, the parsing module 606 may also parse the proxy URL to obtain data processing requirements for the data. In some embodiments, parsing the proxy URL may include parsing according to a unified parsing rule. Further description of resolving the proxy URL may be found elsewhere in this application (e.g., in step 708 and its associated description), and will not be repeated here.
In some embodiments, the second retrieval module 608 may retrieve the data based at least on the original URL. In some embodiments, the data may include sounds, pictures, text, or symbols. Further description of obtaining the data based on the original URL may be found elsewhere in this application (e.g., in step 710 and its related description), and is not repeated herein.
In some embodiments, the second obtaining module 608 may obtain raw data of the data based on the raw URL; processing raw data to obtain the data based on the data processing requirements. Specifically, the second obtaining module 608 may preferentially encode the original data according to a picture coding and decoding format with a high priority. Further description of the processing of the raw data may be found elsewhere in this application (e.g., in step 710 and its associated description), and will not be repeated herein.
In some embodiments, the return module 610 may return the data. In some embodiments, the storage module 612 may be used to store the data. In some embodiments, the data may include processed data as required by the data processing. Further details regarding the returning of the data and the storing of the data may be found elsewhere in this application (e.g., in step 712 and its associated description), and are not repeated herein. It should be understood that the apparatus shown in fig. 6 and its modules may be implemented in various ways. For example, in some embodiments, an apparatus and its modules may be implemented by hardware, software, or a combination of software and hardware. Wherein the hardware portion may be implemented using dedicated logic; the software portions may then be stored in a memory for execution by a suitable instruction execution device, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and apparatus described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided for example on a carrier medium such as a diskette, CD-or DVD-ROM, a programmable memory such as read-only memory (firmware) or a data carrier such as an optical or electronic signal carrier. The apparatus and modules thereof in this specification may be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but also by software executed by various types of processors, for example, or by a combination of the above hardware circuits and software (e.g., firmware).
It should be noted that the above description of the data downloading device and the modules thereof is only for convenience of description, and the description should not be limited to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, having the benefit of the teachings of this apparatus, any combination of the various modules or sub-apparatus may be configured to connect to other modules without departing from such teachings. For example, the second receiving module 602, the parsing module 606, the second obtaining module 608, the returning module 610, and the storage module 612 in the data downloading device 600 may be the same as or directly the same as the second receiving module 402, the parsing module 404, the second obtaining module 406, the returning module 408, and the storage module 410 in the data downloading device 400, respectively. For another example, each module in the data download apparatus 600 may be located on the same server, or may belong to different servers. For example only, the resolution module 606 may be located on a domain name resolution server, and the second receiving module 602, the determining module 604, the second obtaining module 608, the returning module 610, and the storing module 612 may be located on a content distribution server. Such variations are within the scope of the present disclosure.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Fig. 7 is an exemplary flow diagram of a method 700 of data download according to further embodiments of the present description. In some embodiments, flow 700 may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (instructions run on a processing device to perform hardware simulation), etc., or any combination thereof. One or more of the operations illustrated in fig. 7 for the data download flow 700 may be implemented by the data download system 100 illustrated in fig. 1. For example, flow 700 may be stored in storage device 120 in the form of instructions and executed and/or invoked by server 110.
Step 702, receiving a data downloading request; the data download request comprises a proxy URL. In some embodiments, step 702 may be performed on content distribution server 110-1. In particular, this step 702 may be performed by the second receiving module 602.
In some embodiments, a source address parameter may be included in the proxy URL, and the source address parameter may be encoded in an original URL of the data. In some embodiments, the second receiving module 602 may receive a data download request sent by the terminal 130. Further description of the data download request and the proxy URL may be found elsewhere in this application (e.g., in flowchart 5 and related description), and will not be repeated herein.
Step 704, determine if the requested data has been stored locally. In some embodiments, step 704 may be performed on content distribution server 110-1. Specifically, this step 704 may be performed by the determining module 604. In some embodiments, the data may include sounds, pictures, text, or symbols. In some embodiments, storing the requested data locally may include storing the requested data in storage device 120. In some embodiments, the determination module 604 may determine whether the requested data is already stored locally. For example, the determining module 604 may determine whether the requested data is stored in the storage device 120 by using the proxy URL as a query condition.
In some embodiments, if the requested data is stored locally, execution 706 returns the data directly. In particular, this step 706 may be performed by the return module 610. By directly returning the locally stored request data, the effect of saving operation resources can be achieved.
In some embodiments, steps 708-712 are performed if the requested data is not stored locally.
At step 708, the proxy URL is parsed, and at least the original URL of the data may be obtained. In some embodiments, step 708 may be performed at domain name resolution server 110-2. In particular, this step 708 may be performed by the parsing module 606. In some embodiments, the original URL may include a domain name pointing to other data sources. In some embodiments, the other data sources may include data sources stored at different memory addresses. In some embodiments, the proxy URL is parsed and data processing requirements may also be obtained. Further description of the original URL and data processing requirements may be found elsewhere in this application (e.g., in flowchart 5 and its associated description), and will not be repeated herein.
In some embodiments, parsing the proxy URL may include parsing according to a unified parsing rule. In some embodiments, the parsing module 606 may parse the proxy URL. Further description of resolving proxy URLs may be found elsewhere in this application (e.g., in flowchart 5 and related description), and will not be repeated herein.
Step 710, obtaining the data based at least on the original URL. In some embodiments, step 710 may be implemented by content distribution server 110-1. In particular, this step 704 may be performed by the second obtaining module 608. Further description of the raw data for obtaining the data based on the raw URL may be found elsewhere in this application (e.g., in step 506 and its associated description), and will not be repeated herein. The original data can be obtained through the original URL and can be downloaded to the data meeting the requirements of the terminal.
In some embodiments, the raw data may also be processed based on data processing requirements. Further description of processing raw data based on data processing requirements may be found elsewhere in this application (e.g., in step 506 and its associated description), and will not be repeated herein.
Step 712, return the data. In some embodiments, step 712 may be implemented by content distribution server 110-1. In particular, this step 712 may be performed by the return module 610. Further description of the returned processed data may be found elsewhere in this application (e.g., in step 508 and its associated description), and will not be described herein.
By returning the processed data to the terminal 130, the amount of the processed data is reduced, and the terminal can achieve the effect of saving traffic when downloading.
In some embodiments, step 712 may also include storing the data locally. In particular, this step 712 may be performed by the storage module 612. Further description of storing the processed data may be found elsewhere in this application (e.g., in step 510 and its associated description), and will not be described herein.
It should be noted that the above description related to the flow 700 is only for illustration and description, and does not limit the applicable scope of the present specification. Various modifications and changes to flow 700 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description. For example, step 702 and step 704 may be combined in one step.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The beneficial effects that may be brought by the embodiments of the present description include, but are not limited to: (1) the picture can be downloaded according to the processing requirement actually required by the terminal, and the purpose of saving flow can be achieved; (2) different data formats of the server and the terminal can be compatible through the coding and decoding formats with different priorities, so that the user experience is improved; (3) by sending the data of the locally stored request, the effect of saving traffic can be achieved. It is to be noted that different embodiments may produce different advantages, and in different embodiments, any one or combination of the above advantages may be produced, or any other advantages may be obtained.
Having thus described the basic concept, it will be apparent to those skilled in the art that the foregoing detailed disclosure is to be considered merely illustrative and not restrictive of the present specification. Various modifications, improvements and adaptations to the present description may occur to those skilled in the art, although not explicitly described herein. Such modifications, improvements and adaptations are proposed in the present specification and thus fall within the spirit and scope of the exemplary embodiments of the present specification.
Also, the description uses specific words to describe embodiments of the description. Reference throughout this specification to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the specification is included. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the specification may be combined as appropriate.
Moreover, those skilled in the art will appreciate that aspects of the present description may be illustrated and described in terms of several patentable species or situations, including any new and useful combination of processes, machines, manufacture, or materials, or any new and useful improvement thereof. Accordingly, aspects of this description may be performed entirely by hardware, entirely by software (including firmware, resident software, micro-code, etc.), or by a combination of hardware and software. The above hardware or software may be referred to as "data block," module, "" engine, "" unit, "" component, "or" system. Furthermore, aspects of the present description may be represented as a computer product, including computer readable program code, embodied in one or more computer readable media.
The computer storage medium may comprise a propagated data signal with the computer program code embodied therewith, for example, on baseband or as part of a carrier wave. The propagated signal may take any of a variety of forms, including electromagnetic, optical, etc., or any suitable combination. A computer storage medium may be any computer-readable medium that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code located on a computer storage medium may be propagated over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or any combination of the preceding.
Computer program code required for the operation of various portions of this specification may be written in any one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C + +, C #, VB.NET, Python, and the like, a conventional programming language such as C, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, a dynamic programming language such as Python, Ruby, and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any network format, such as a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet), or in a cloud computing environment, or as a service, such as a software as a service (SaaS).
Additionally, the order in which the elements and sequences of the process are recited in the specification, the use of alphanumeric characters, or other designations, is not intended to limit the order in which the processes and methods of the specification occur, unless otherwise specified in the claims. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by hardware devices, they may also be implemented by software-only solutions, such as installing the described system on an existing server or mobile device.
Similarly, it should be noted that in the preceding description of embodiments of the present specification, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to imply that more features than are expressly recited in a claim. Indeed, the embodiments may be characterized as having less than all of the features of a single embodiment disclosed above.
Numerals describing the number of components, attributes, etc. are used in some embodiments, it being understood that such numerals used in the description of the embodiments are modified in some instances by the use of the modifier "about", "approximately" or "substantially". Unless otherwise indicated, "about", "approximately" or "substantially" indicates that the number allows a variation of ± 20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximations that may vary depending upon the desired properties of the individual embodiments. In some embodiments, the numerical parameter should take into account the specified significant digits and employ a general digit preserving approach. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of the range are approximations, in the specific examples, such numerical values are set forth as precisely as possible within the scope of the application.
For each patent, patent application publication, and other material, such as articles, books, specifications, publications, documents, etc., cited in this specification, the entire contents of each are hereby incorporated by reference into this specification. Except where the application is filed in a manner inconsistent or contrary to the present specification, and except where a claim is filed in a manner limited to the broadest scope of the application (whether present or later appended to the specification). It is to be understood that the descriptions, definitions and/or uses of terms in the accompanying materials of this specification shall control if they are inconsistent or contrary to the descriptions and/or uses of terms in this specification.
Finally, it should be understood that the embodiments described herein are merely illustrative of the principles of the embodiments of the present disclosure. Other variations are also possible within the scope of this description. Thus, by way of example, and not limitation, alternative configurations of the embodiments of the specification can be considered consistent with the teachings of the specification. Accordingly, the embodiments of the present description are not limited to only those embodiments explicitly described and depicted herein.

Claims (29)

1. A method for downloading data, comprising:
acquiring a request for data; the request for data comprises a data processing requirement, and the data comprises a picture; the data processing requirements comprise one or more of picture quality, picture style, picture size and picture coding and decoding format;
determining an original address of the data based on the request for data;
processing the data processing requirement based on a preset rule, and generating a processing parameter so that the specified equipment can analyze and identify the data processing requirement;
judging whether the original address points to a designated device, if not, coding the original address to obtain a source address parameter; generating a proxy address of the data, wherein the proxy address points to the specified device and comprises the source address parameter and the processing parameter;
sending a data request based on the proxy address.
2. The method of claim 1,
the method further comprises the following steps:
if the original address points to a designated device:
adding the processing parameter to the original address to generate a proxy address for the data,
or replacing the original processing parameter in the original address with the processing parameter to generate the proxy address of the data.
3. The method of claim 1, wherein the data processing requirements include at least two picture coding formats, and the at least two picture coding formats have different priorities.
4. An apparatus for data download, comprising:
the first acquisition module is used for acquiring a request for data; the request for data comprises a data processing requirement, and the data comprises a picture; the data processing requirements comprise one or more of picture quality, picture style, picture size and picture coding and decoding format;
a determination module to determine an original address of the data based on the request for data such that a designated device can resolve and identify the data processing requirement;
an address processing module for
Processing the data processing requirement based on a preset rule to generate a processing parameter;
judging whether the original address points to a designated device, if not, coding the original address to obtain a source address parameter; generating a proxy address of the data, wherein the proxy address points to a designated device, and the proxy address comprises the source address parameter and the processing parameter;
and the sending module is used for sending a data request based on the proxy address.
5. The apparatus of claim 4,
the address processing module is further configured to:
if the original address points to a designated device:
adding the processing parameter to the original address to generate a proxy address for the data,
or replacing the original processing parameter in the original address with the processing parameter to generate the proxy address of the data.
6. The apparatus of claim 5, wherein the data processing requirements include at least two picture coding formats, and the at least two picture coding formats have different priorities.
7. A computing device comprising at least one processor and at least one storage device to store instructions that when executed by the at least one processor implement the method of any of claims 1-3.
8. A computer readable storage medium storing computer instructions which, when read by a computer, cause the computer to perform the method of any one of claims 1 to 3.
9. A method for data download, the method being performed by at least one processor, comprising:
receiving a data request; the data request comprises a proxy address; the proxy address comprises a source address parameter and a processing parameter, wherein the source address parameter is obtained by encoding an original address of the data;
analyzing the proxy address according to a uniform analysis rule to obtain an original address of the data and a data processing requirement; the data comprises a picture; the data processing requirements comprise one or more of picture quality, picture style, picture size and picture coding and decoding format;
acquiring original data of the data based on the original address;
processing the raw data to obtain the data based on the data processing requirements;
and returning the data.
10. The method of claim 9, wherein the original address points to other data sources;
the obtaining raw data of the data based on the raw address includes obtaining the raw data from the other data source.
11. The method of claim 9, wherein resolving the proxy address comprises resolving according to a unified resolution rule.
12. The method of claim 9, wherein the data processing requirements include at least two picture coding formats, and the at least two picture coding formats have different priorities;
the processing the raw data based on the data processing requirements comprises:
coding the original data according to a picture coding and decoding format with high priority;
and if the original data fails to be coded according to the picture coding and decoding format with high priority, coding the original data according to the picture coding and decoding format with low priority.
13. The method of claim 9, wherein the method further comprises:
and coding the original data according to a preset picture coding and decoding format.
14. The method of claim 9, further comprising storing the data.
15. An apparatus for data download, comprising:
the second receiving module is used for receiving the data request; the data request comprises a proxy address; the proxy address comprises a source address parameter and a processing parameter, wherein the source address parameter is obtained by encoding an original address of the data;
the analysis module is used for analyzing the proxy address according to a uniform analysis rule to obtain an original address of the data and a data processing requirement; the data comprises a picture; the data processing requirements comprise one or more of picture quality, picture style, picture size and picture coding and decoding format;
a second acquisition module for
Acquiring original data of the data based on the original address;
processing the raw data to obtain the data based on the data processing requirements;
and the return module is used for returning the data.
16. The apparatus of claim 15, wherein the original address points to other data sources;
the second obtaining module is further configured to obtain the raw data from the other data source.
17. The apparatus of claim 15, wherein the resolution module is configured to resolve the proxy address according to a unified resolution rule.
18. The apparatus of claim 15, wherein the data processing requirements include at least two picture decoding formats, and the at least two picture coding formats have different priorities;
the second obtaining module is further configured to:
coding the original data according to a picture coding and decoding format with high priority;
and if the original data fails to be coded according to the picture coding and decoding format with high priority, coding the original data according to the picture coding and decoding format with low priority.
19. The apparatus of claim 15, wherein the second obtaining module is further configured to encode the raw data in a preset picture coding format.
20. The apparatus of claim 15, further comprising a storage module to store the data.
21. A computing device comprising at least one processor and at least one storage device to store instructions that when executed by the at least one processor implement a method as claimed in any one of claims 9 to 14.
22. A computer readable storage medium storing computer instructions which, when read by a computer, cause the computer to perform the method of any one of claims 9 to 14.
23. A method for data download, the method being performed by at least one processor, comprising:
receiving a data request; the data request comprises a proxy address;
judging whether the requested data is stored locally:
if yes, directly returning the data;
if not, executing:
analyzing the proxy address according to a uniform analysis rule to obtain an original address of the data and a data processing requirement; the data comprises a picture; the data processing requirements comprise one or more of picture quality, picture style, picture size and picture coding and decoding format;
acquiring original data of the data based on the original address;
processing the raw data to obtain the data based on the data processing requirements;
and returning and storing the data.
24. The method of claim 23, wherein the proxy address includes a source address parameter, the source address parameter being encoded from an original address of the data.
25. The utility model provides a device of data download, its characterized in that includes second receiving module, judge module, analysis module, second acquisition module, returns module and storage module, wherein:
the second receiving module is used for receiving a data downloading request; the data downloading request comprises an agent address;
the judging module is used for judging whether the requested data has been stored locally:
if yes, the data is directly returned through a return module;
if not, then:
analyzing the proxy address according to a uniform analysis rule through an analysis module to obtain an original address of the data and a data processing requirement; the data comprises a picture; the data processing requirements comprise one or more of picture quality, picture style, picture size and picture coding and decoding format;
acquiring original data of the data based on the original address through a second acquisition module; processing the raw data to obtain the data based on the data processing requirements;
returning the data through a return module;
and storing the data by the storage module.
26. The apparatus of claim 25, wherein the proxy address includes a source address parameter, the source address parameter being encoded from an original address of the data.
27. A computing device comprising at least one processor and at least one memory device to store instructions that, when executed by the at least one processor, implement a method as recited in claims 23-24.
28. A computer readable storage medium storing computer instructions which, when read by a computer, cause the computer to perform the method of claims 23-24.
29. A server, comprising:
the content distribution server is used for receiving a data downloading request containing a proxy address, acquiring data specified by the data downloading request based on the analysis result of the proxy address and returning the specified data; wherein, the analysis result comprises the original address of the data and the data processing requirement; the data comprises a picture; the data processing requirements comprise one or more of picture quality, picture style, picture size and picture coding and decoding format;
the content distribution server is further used for acquiring original data of the data based on the original address, and processing the original data based on the data processing requirement to acquire the specified data;
and the domain name resolution server is in signal connection with the content distribution server and is used for resolving the proxy address according to a uniform resolution rule.
CN201910596026.XA 2019-07-03 2019-07-03 Data downloading method and device Active CN110311980B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910596026.XA CN110311980B (en) 2019-07-03 2019-07-03 Data downloading method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910596026.XA CN110311980B (en) 2019-07-03 2019-07-03 Data downloading method and device

Publications (2)

Publication Number Publication Date
CN110311980A CN110311980A (en) 2019-10-08
CN110311980B true CN110311980B (en) 2022-01-25

Family

ID=68079555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910596026.XA Active CN110311980B (en) 2019-07-03 2019-07-03 Data downloading method and device

Country Status (1)

Country Link
CN (1) CN110311980B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382180B (en) * 2021-06-01 2023-02-28 海南车智易通信息技术有限公司 Picture processing method, computing device and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686198A (en) * 2013-12-30 2014-03-26 优视科技有限公司 Video data processing method, device and system
CN107306273A (en) * 2016-04-18 2017-10-31 北京市神州百戏文化产业有限公司 The requesting method that data are downloaded
CN108153761A (en) * 2016-12-05 2018-06-12 阿里巴巴集团控股有限公司 Access the method, apparatus of network picture and response to network picture access
CN109600407A (en) * 2017-09-30 2019-04-09 北京国双科技有限公司 Request distribution method and device based on virtual server

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0326915D0 (en) * 2003-11-19 2003-12-24 Ibm A method and system for updating/reloading the content of pages browsed over a network
CN103425681A (en) * 2012-05-17 2013-12-04 上海闻泰电子科技有限公司 Method capable of downloading and displaying pictures on mobile browser
CN102932671A (en) * 2012-11-26 2013-02-13 北京奇虎科技有限公司 Method and server for supplying picture to computing terminal
CN106559465A (en) * 2015-09-30 2017-04-05 北京奇虎科技有限公司 Save the determination method and device of flow data
CN108055302B (en) * 2017-12-05 2020-10-20 竞技世界(北京)网络技术有限公司 Picture caching processing method and system and server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686198A (en) * 2013-12-30 2014-03-26 优视科技有限公司 Video data processing method, device and system
CN107306273A (en) * 2016-04-18 2017-10-31 北京市神州百戏文化产业有限公司 The requesting method that data are downloaded
CN108153761A (en) * 2016-12-05 2018-06-12 阿里巴巴集团控股有限公司 Access the method, apparatus of network picture and response to network picture access
CN109600407A (en) * 2017-09-30 2019-04-09 北京国双科技有限公司 Request distribution method and device based on virtual server

Also Published As

Publication number Publication date
CN110311980A (en) 2019-10-08

Similar Documents

Publication Publication Date Title
US9646254B2 (en) Predicting next web pages
US10289659B2 (en) Delivery and display of page previews using shadow DOM
US8589385B2 (en) Historical browsing session management
US8849802B2 (en) Historical browsing session management
AU2012300408C1 (en) Remote browsing session management
US20130080577A1 (en) Historical browsing session management
US20130080576A1 (en) Historical browsing session management
US10521485B1 (en) Measuring page value
US20170109371A1 (en) Method and Apparatus for Processing File in a Distributed System
US10057320B2 (en) Offline browsing session management
US10223458B1 (en) Automatic magazine generator for web content
CN112256772A (en) Data service method, device and readable storage medium
CN107566477A (en) A kind of method and apparatus that file is obtained in distributed file system cluster
CN114282233A (en) WEB performance optimization method and device, computer equipment and storage medium
CN102624910B (en) Method, the Apparatus and system of the web page contents that process user chooses
CN110311980B (en) Data downloading method and device
CN104572964A (en) Zip file unzipping method and device
US20180302489A1 (en) Architecture for proactively providing bundled content items to client devices
CN110222046B (en) List data processing method, device, server and storage medium
CN113452733A (en) File downloading method and device
Huang et al. Achieving fast page load for websites across multiple domains
US9838494B1 (en) Reducing retrieval times for compressed objects
CN113518088B (en) Data processing method, device, server, client and medium
US8577905B2 (en) System, method, and logic for optimized geospatial data delivery
CN114385596A (en) Data processing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant