WO2020215833A1 - 离线缓存方法、装置、终端及可读存储介质 - Google Patents
离线缓存方法、装置、终端及可读存储介质 Download PDFInfo
- Publication number
- WO2020215833A1 WO2020215833A1 PCT/CN2020/071483 CN2020071483W WO2020215833A1 WO 2020215833 A1 WO2020215833 A1 WO 2020215833A1 CN 2020071483 W CN2020071483 W CN 2020071483W WO 2020215833 A1 WO2020215833 A1 WO 2020215833A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- module
- offline
- media
- media player
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4435—Memory management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Definitions
- the embodiments of this specification relate to the field of caching technology, and in particular to an offline caching method, device, terminal, and readable storage medium.
- videos are often used to display advertising content. They are generally based on streaming media to play video solutions, that is, the cloud (server) sends the video resource address, and the terminal does not need to wait until the resource is downloaded. You can play, that is, download while playing.
- video files are often relatively large and the cost of one-time download is high, offline caching of resources is very necessary. This requires that each resource can be cached offline only after it has been played once on the terminal, that is, even if the terminal network port or system restarts, the cached resource can still be valid and can be played at any time.
- the embodiments of this specification provide an offline caching method, device, terminal, and readable storage medium.
- the embodiments of this specification provide an offline caching method for offline caching of resources on a terminal.
- the operating system of the terminal includes a framework layer and an application layer.
- the method includes creating cache data at the framework layer.
- Source module and media cache module the cache data source module downloads media resources from the cloud, writes the media resources into the media cache module, and generates offline cache files; stores the offline cache files, and stores the offline
- the cache file is provided for the application layer access.
- an embodiment of this specification provides an offline caching device for offline caching of resources on a terminal.
- the operating system of the terminal includes a framework layer and an application layer, and the device includes a cache created at the framework layer.
- a data source module and a media cache module are used to download media resources from the cloud and write the media resources into the media cache module; the media cache module is used to cache data according to the The media resources written by the source module generate offline cache files; the storage module is used to store the offline cache files and provide the stored offline cache files for the application layer access.
- the embodiments of this specification provide a terminal, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor.
- the processor implements any of the above-mentioned items when the program is executed.
- the steps of the offline cache method are the steps of the offline cache method.
- an embodiment of this specification provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of any one of the offline caching methods described above are implemented.
- the embodiment of this specification provides an offline cache method.
- the streaming media playback and decoding capabilities are maintained, and the memory cache is persisted to generate offline Cache files, so as to realize the ability to download at any time, without any proxy server in the middle, which greatly reduces the IO of the entire system and can achieve a very smooth playback effect
- Figure 1 is a schematic diagram of an offline caching scenario according to an embodiment of this specification
- FIG. 3 is a schematic structural diagram of an offline caching system provided by the second aspect of the embodiments of this specification.
- FIG. 5 is a schematic structural diagram of an offline caching device provided by the fourth aspect of the embodiment of this specification.
- Fig. 6 is a schematic diagram of a terminal structure provided by the fifth aspect of the embodiments of this specification.
- terminal or “terminal device” used in the embodiments of this specification may be a communication terminal, an Internet terminal, a music/video playback terminal, such as a PDA, MID (Mobile Internet Device, mobile Internet devices) and/or mobile phones with music/video playback functions, or devices such as smart TVs.
- a communication terminal such as a PDA, MID (Mobile Internet Device, mobile Internet devices) and/or mobile phones with music/video playback functions, or devices such as smart TVs.
- the “cloud” used in the embodiments of this specification includes but is not limited to a computer, a network host, a single network server, a set of multiple network servers, or a cloud composed of multiple servers.
- the cloud is composed of a large number of computers or network servers based on Cloud Computing.
- Cloud computing is a type of distributed computing, a super virtual computer composed of a group of loosely coupled computer sets.
- communication between the terminal and the cloud can be achieved through any communication method, including but not limited to mobile communication based on 3GPP, LTE, WIMAX, computer network communication based on TCP/IP, and UDP protocols, and Bluetooth and infrared Transmission standard short-range wireless transmission method.
- the operating system includes an application layer (App layer) and a framework layer (Framework layer).
- App layer can generally be understood as the upper layer, which is responsible for the interface with the user, such as application maintenance, and identifying different types of clicked content when clicking on the page to display different context menus.
- Framework layer is used as the middle layer. The main responsibility of this layer is to forward user requests obtained by the App layer, such as starting video playback, to the lower layer; the content processed by the lower layer is either through messages or through intermediate agents Classes, to be distributed to the upper level and displayed to users.
- An implementation manner of the embodiment of this specification is to improve the App layer and the Framework layer, so as to use the cooperation of the two layers to implement offline caching of resources on the terminal.
- a cache data source module and a media cache module can be created at the framework layer.
- the cache data source module downloads media resources from the cloud and writes the media resources into the media cache module to generate offline cache files; store offline cache files and store The stored offline cache files are exposed to the application layer (the application layer can access offline cache files).
- FIG. 1 is a schematic diagram of an offline caching scenario in an embodiment of this specification.
- This scene shows the cloud 10 and the terminal 20.
- the cloud stores resources for the terminal to download and play, such as video resources; the terminal 20 downloads and stores the video resources from the cloud 10.
- the terminal 20 shows an App layer 201 and a Framework layer 202.
- the App layer 201 starts video playback, it controls the Framework layer 202 to download and play video resources from the cloud 10.
- the Framework layer 202 After downloading a resource for the first time, the resource is cached in memory, an offline cache file is generated, and the offline cache file is exposed to the App layer 201. Therefore, when the resource is played next time, there is no need to repeat the download, but directly Read offline cache files for playback, and by persisting the memory cache, that is, offline cache files are stored separately, thereby avoiding the problem of memory cache invalidation.
- the embodiments of this specification provide an offline caching method for offline caching of resources on a terminal.
- the operating system of the terminal includes a framework layer and an application layer. Please refer to FIG. 2.
- the offline caching method includes steps S201-S203. .
- S201 Create a cache data source module and a media cache module at the framework layer.
- the embodiment of this specification takes the terminal running the Android operating system and offline caching of video resources as an example for description.
- the embodiments of this specification are not limited to the Android system, and are not limited to offline caching of video resources.
- offline caching of audio may also be performed.
- the MediaPlayer (media player) component in the framework layer is used to control the playback of the video.
- the basic steps are to first generate a MediaPlayer object, use different generation methods according to the address of the file to be played, and then after obtaining the MediaPlayer object, call different methods according to actual needs, such as start() (start), stop() (Stop), pause() (pause), release() (release), etc. to control the playback of resources.
- start start
- Stop() Stop()
- pause() pause
- release() release
- one state of the MediaPlayer object is that calling the setDataSource() method will make the object in the Idle state migrate to the Initialized state.
- the original DataSource (data source) module can be upgraded by modifying the source code of the MediaPlayer component in the framework layer. Specifically, the source code of the MediaPlayer component is modified, and the original DataSource module in the MediaPlayer component is retained. Streaming media playback and download functions, and modify the cache strategy, add memory cache persistence function.
- the following two modules can be created in the MediaPlayer component of the framework layer:
- CacheDataSource module used to download streaming media
- MediaCache module used to obtain and write video resources of streaming media from the CacheDataSource module.
- the cache data source module downloads media resources from the cloud, writes the media resources into the media cache module, and generates offline cache files.
- the original DataSource module is replaced by the CacheDataSource module and the MediaCache module to maintain the original streaming media playback capability, but the cache strategy part is modified, that is, the memory cache write Enter the MediaCache module for persistence to form an offline cache file.
- the offline cache file generated by the MediaCache module can be directly read by the App layer later without having to start the MediaPlayer component to download repeatedly.
- the problem of memory cache invalidation can be effectively avoided.
- the traditional Android video cache uses the DataSource module to download resources. When a certain amount is downloaded, the content is sent to the Extractor (extractor) for decoding and playback, and the resources are cached locally, but this cache It is a memory cache and cannot be persisted. Once the DataSource is destroyed, all memory caches associated with it will become invalid.
- the download function is implemented by the CacheDataSource module, and the cache function is implemented by the MediaCache module. The memory cache is persisted by generating offline cache files in the MediaCache module. Even if the CacheDataSource module is destroyed, due to the existence of offline cache files, Will not cause the invalidation of the memory cache.
- S203 Store offline cache files, and provide the stored offline cache files for application layer access.
- the MediaCache module is a module of the framework layer in the Android system, it is not exposed to the App layer, so it needs to be exposed to the App layer in some way.
- the MediaCache module can be exposed to the App layer by creating a Media Player (MediaPlayer) database.
- a MediaPlayer database is created between the App layer and the Framework layer.
- the MediaPlayer database can obtain the offline cache from the MediaCache module. File, and provide access interface to App layer for App layer to read offline cache files.
- offline cache files can also be stored in the way of SharedPreferences (shared parameters) of the Android system.
- SharedPreferences is a lightweight data storage method that uses Key/value for mapping, and finally stores files in xml format on the terminal.
- SharedPreferences can be understood as an interface under android.content (content): an interface used to access and modify getSharedPreferences (obtain shared parameters) and return preference data.
- the MediaCache module when the MediaCache module generates an offline cache file, it calls the SharedPreferences method in the operating system to store the offline cache file.
- the method of providing the stored offline cache file for access by the application layer may include: providing an access interface to the application layer through the player database or shared parameter method, and the application layer reads the offline cache through the access interface file.
- the above two methods are only exemplary descriptions, and other methods may also be adopted to store offline cache files and provide them to the application layer, which is not limited in the embodiment of this specification.
- the video resource does not need to be downloaded repeatedly every time the video resource is played. Instead, it can first check whether there are offline cache files. If so, read the offline cache file directly to play the video, if not, start the MediaPlayer component of the framework layer to play and download the video. Therefore, when the application layer starts resource playback, query the media player database or shared parameter method to see if offline cache files are stored. If so, directly read the offline cache files for resource playback; if not, call the media player component, and The media player component downloads and plays videos from the cloud.
- FIG. 3 shows a schematic structural diagram of an offline cache system provided by an embodiment of this specification.
- the system includes a cloud 30 and a terminal 31.
- the cloud 30 may include a private cloud and a private content distribution network, etc., which is not limited.
- the terminal 31 shows parts related to the embodiment of this specification, including an application 311 at the application layer, a media player component 312 at the framework layer, and a media player database 313.
- the application program 311 further includes a resource query module 3111 and a media play start module 3112.
- the media player component 312 further includes a cache data source module 3121 and a resource cache module 3122.
- the media player component 312 also includes a client pool (client pool). ), player and extractor.
- the cache data source module 3121 downloads resources from the cloud and submits them to the resource cache module 3122 to generate offline cache files, and the resource cache module 3122 sends the offline cache files to the media player database 313 for storage.
- the application 311 performs resource playback, it first queries the media player database 313 whether there are offline cache files through the resource query module 3111. If so, directly read the file for resource playback. If not, use the resource playback start module 3112 to start The media player component 312 plays and downloads videos.
- the four parts of the resource query module 3111, the media player database 313, the cache data source module 3121, and the resource cache module 3122 work together to implement offline cache storage and reading.
- the traditional Android video cache uses a DataSource module to download resources.
- the content is sent to the extractor for decoding and playback.
- the resources are cached locally, but this cache is a Memory cache cannot be persisted. Once the DataSource is destroyed, all memory caches associated with it will become invalid.
- the embodiment of this specification introduces a cache data source module 3121 (CacheDataSource) and a resource cache module 3122 (MediaCache) to replace the original DataSource module, maintain the original streaming media playback capability, but modify the caching strategy part , That is, the memory cache is written to the MediaCahe module for persistence to form an offline cache file, and then the offline cache record is written to the media player database 313 (MediaPlayer database) through MediaCahe.
- cacheDataSource cache data source module 3121
- MediaCache resource cache module
- the application Before playing a video, the application will query the MediaPlayer database whether there is an offline cache file through the resource query module 3111. If there is an offline cache file, the file will be played directly, thus achieving the effect of one download at any time.
- FIG. 4 is an example flowchart of the offline caching method provided in the third aspect of the embodiment of this specification.
- the flowchart is implemented with reference to the schematic diagram of the system structure in FIG. 3, and is given as an example only.
- Figure 4 includes the following steps:
- S401 The terminal starts video playback
- the media playback startup module calls the MediaPlayer component, and sets the address of the playback resource as the video URL;
- the MediaPlayer component creates a client for the video URL, and the extractor in the client is responsible for the encoding and decoding of the video;
- Extractor will automatically create a CacheDataSource module
- CacheDataSource downloads the video from the cloud, and sends it to the extractor for playback after downloading a certain amount of content each time, and writes this part of the resource into the MediaCache;
- S411 MediaCache completes saving of offline resources, and records the cached resources to the MediaPlayer database.
- CacheDataSource module and MediaCache module are formed by modifying the DataSource module in the MediaPlayer component in the Android source code, which not only maintains the playback and decoding capabilities of streaming media, but also caches the memory
- offline cache files are generated, so as to realize the ability to download at any time without any proxy server in the middle, which greatly reduces the IO of the entire system and can achieve a very smooth playback effect.
- an embodiment of this specification provides an offline caching device, which is used to perform offline caching of resources on a terminal.
- the operating system of the terminal includes a framework layer and an application program layer.
- FIG. 5 is a schematic diagram of the device structure.
- the device includes: a cache data source module 501, a media cache module 502, and a storage module 503 located in the framework layer; wherein: the cache data source module 501 is used for downloading Download media resources from the cloud and write the media resources into the media cache module; the media cache module 502 is configured to generate offline cache files according to the media resources written by the cache data source module; the storage module 503. Used to store the offline cache file, and provide the stored offline cache file for the application layer access.
- the cache data source module 501 and the media cache module 502 are respectively obtained by modifying the source code of the media player component in the framework layer to obtain a cache data source module for streaming media download 501 and the media cache module 502 for writing to the memory cache.
- the cache data source module 501 and the media cache module 502 are modified by modifying the source code of the media player component to retain the streaming media playback and the original data source module in the media player component. Download function, modify the cache strategy, and add memory cache persistence function.
- the storage module 503 includes a media player database 5031; when the media cache module 502 generates an offline cache file, it writes the offline cache file to the media player database 5031.
- the storage module 503 includes a shared parameter method invocation submodule 5032; when the media cache module 502 generates the offline cache file, the shared parameter method invocation submodule 5032 is used to invoke the operating system The shared parameter method in, stores the offline cache file.
- the player database 5031 or the shared parameter method calling submodule 5032 is also used to provide an access interface to the application layer, so that the application layer can read the offline data through the access interface. Cache files.
- the application layer includes a resource playback query module 504; the resource query module 504 is configured to query the media player database 5031 or the shared parameter method when starting resource playback Whether the module 5032 saves the offline cache file; if so, read the offline cache file and directly play the resource; if not, call the media player component, and the media player component will download the video from the cloud And play.
- the resource query module 504 is configured to query the media player database 5031 or the shared parameter method when starting resource playback Whether the module 5032 saves the offline cache file; if so, read the offline cache file and directly play the resource; if not, call the media player component, and the media player component will download the video from the cloud And play.
- the present invention also provides a terminal, as shown in FIG. 6, including a memory 604, a processor 602, and a memory 604 stored on the A computer program running on 602, and when the processor 602 executes the program, the steps of any one of the aforementioned offline caching methods are implemented.
- bus 600 may include any number of interconnected buses and bridges
- bus 600 will include one or more processors represented by processor 602 and memory 604
- the various circuits of the memory are linked together.
- the bus 600 can also link various other circuits such as peripheral devices, voltage regulators, power management circuits, etc., which are all known in the art, and therefore, no further description will be given herein.
- the bus interface 606 provides an interface between the bus 600 and the receiver 601 and transmitter 603.
- the receiver 601 and the transmitter 603 may be the same element, that is, a transceiver, which provides a unit for communicating with various other devices on the transmission medium.
- the processor 602 is responsible for managing the bus 600 and general processing, and the memory 604 may be used to store data used by the processor 602 when performing operations.
- the present invention also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the offline caching method described above is implemented Of any method.
- These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
- the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
- These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
- the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例提供了一种离线缓存方法,通过在操作系统的框架层创建缓存数据源模块和媒体缓存模块,既保持了流媒体的播放解码能力,又将内存缓存进行了持久化,生成离线缓存文件,从而实现一次下载随时播放的能力,中间没有经过任何的代理服务器,大大降低了整个系统的IO,能够达到非常流畅的播放效果。
Description
本说明书实施例涉及缓存技术领域,尤其涉及一种离线缓存方法、装置、终端及可读存储介质。
在终端播放资源的场景,例如数字标牌场景,往往会使用视频进行广告内容的展现,一般都是基于流媒体播放视频方案,即云端(服务器端)下发视频资源地址,终端无需等到资源下载完就可以播放,也就是一边播放一边下载。但是,由于视频文件往往比较大,一次下载的成本较高,因此,资源的离线缓存就显得非常有必要。这就要求每个资源只要在终端上播放完毕一次后,能够完成离线缓存,也就是即使终端网络端口或系统重启等情况下,缓存的资源仍然能够有效,可供随时播放。
发明内容
本说明书实施例提供及一种离线缓存方法、装置、终端及可读存储介质。
第一方面,本说明书实施例提供一种离线缓存方法,用于在终端进行资源离线缓存,所述终端的操作系统包括框架层和应用程序层,所述方法包括在所述框架层创建缓存数据源模块和媒体缓存模块;所述缓存数据源模块从云端下载媒体资源,并将所述媒体资源写入所述媒体缓存模块,生成离线缓存文件;存储所述离线缓存文件,并将存储的离线缓存文件供给所述应用程序层访问。
第二方面,本说明书实施例提供一种离线缓存装置,用于在终端进行资源离线缓存,所述终端的操作系统包括框架层和应用程序层,所述装置包括在所述框架层创建的缓存数据源模块和媒体缓存模块;所述缓存数据源模块,用于从云端下载媒体资源,并将所述媒体资源写入所述媒体缓存模块;所述媒体缓存模块,用于根据所述缓存数据源模块写入的媒体资源,生成离线缓存文件;存储模块,用于存储所述离线缓存文件,并将存储的离线缓存文件供给所述应用程序层访问。
第三方面,本说明书实施例提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述 离线缓存方法的步骤。
第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述离线缓存方法的步骤。
本说明书实施例有益效果如下:
本说明书实施例提供了一种离线缓存方法,通过在操作系统的框架层创建缓存数据源模块和媒体缓存模块,既保持了流媒体的播放解码能力,又将内存缓存进行了持久化,生成离线缓存文件,从而实现一次下载随时播放的能力,中间没有经过任何的代理服务器,大大降低了整个系统的IO,能够达到非常流畅的播放效果
图1为本说明书实施例离线缓存场景示意图;
图2为本说明书实施例第一方面提供的离线缓存方法流程图;
图3为本说明书实施例第二方面提供的离线缓存系统结构示意图;
图4为本说明书实施例第三方面提供的离线缓存方法实例流程图;
图5为本说明书实施例第四方面提供的离线缓存装置结构示意图;
图6为本说明书实施例第五方面提供的终端结构示意图。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
本技术领域技术人员可以理解,本说明书实施例所使用的“终端”或“终端设备”)可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视等设备。
本技术领域技术人员可以理解,本说明书实施例所使用的“云端”,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在 此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本说明书实施例中,终端与云端之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
本领域技术人员应当理解,本说明书实施例所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本领域技术人员理解,操作系统包括应用程序层(App层)和框架层(Framework层),至于从功能划分上有可能包括的其他层本说明书实施例则不作讨论。其中,通常App层可以理解为上层,负责与用户交互的界面,例如应用程序维护、以及点击页面时识别不同种类的点击内容从而显示不同的上下文菜单等。通常Framework层作为中间层,这一层的主要职责是,将App层获得的用户请求,如启动视频播放之类,转发往下层去;将下层处理好的内容,或者通过消息,或者通过中间代理类,来分发至上层,对用户展现出来。
本说明书实施例一种实现方式是,对App层和Framework层进行改进,从而利用这两层的协同配合实现在终端上进行资源的离线缓存。具体的,可以在框架层创建缓存数据源模块和媒体缓存模块,由缓存数据源模块从云端下载媒体资源,并将媒体资源写入媒体缓存模块,生成离线缓存文件;存储离线缓存文件,并将存储的离线缓存文件暴露给应用程序层(应用程序层可访问离线缓存文件)。
请参见图1,为本说明书实施例离线缓存场景示意图。该场景示出了云端10和终端20。云端存储有供终端下载播放的资源,例如视频资源;终端20从云端10下载并存储视频资源。进一步,终端20示出了App层201和Framework层202,其中,App层201启动视频播放时,控制Framework层202从云端10下载并播放视频资源,特别的,本说明书实施例中,Framework层202首次下载完某一资源后,将该资源进行内存缓存,生成离线缓存文件,并将离线缓存文件暴露给App层201,由此,当下次再播放该资源时,就无需重复下载,而可以直接读取离线缓存文件进行播放,并且,通过将内存缓存进行持久化操作,即将离线缓存文件进行单独存储,从而避免内存缓存失效的问题。
第一方面,本说明书实施例提供一种离线缓存方法,用于在终端进行资源离线缓存,终端的操作系统包括框架层和应用程序层,请参考图2,该离线缓存方法包括步骤S201-S203。
S201:在框架层创建缓存数据源模块和媒体缓存模块。
为了说明方便,本说明书实施例以终端运行安卓(Android)操作系统、对视频资源进行离线缓存为例进行说明。但是需要说明的是,本说明书实施例不限于安卓系统,并且不限于对视频资源的离线缓存,例如还可以对音频进行离线缓存等。
在Android中,会使用框架层中的MediaPlayer(媒体播放器)组件对视频的播放进行控制。例如,使用MediaPlayer播放视频,基本步骤是,首先生成MediaPlayer对象,根据播放文件的地址使用不同的生成方法然后得到MediaPlayer对象后,根据实际需要调用不同方法,如start()(开始)、stop()(停止)、pause()(暂停)、release()(释放)等进行资源播放的控制。其中,MediaPlayer对象的一种状态是,调用setDataSource()(设置数据源)方法会使处于Idle(空闲)状态的对象迁移到Initialized(初始化)状态。
本说明书实施例中,可通过对框架层中MediaPlayer组件的源代码进行修改,将原来的DataSource(数据源)模块进行功能升级,具体的,修改MediaPlayer组件的源代码,保留MediaPlayer组件中原DataSource模块的流媒体播放及下载功能,并修改缓存策略,新增内存缓存持久化功能。由此,可在框架层的MediaPlayer组件中创建以下两个模块:
缓存数据源(CacheDataSource)模块:用于下载流媒体;
媒体缓存模块(MediaCache)模块:用于从CacheDataSource模块获取并写入流媒体的视频资源。
S202:缓存数据源模块从云端下载媒体资源,并将媒体资源写入媒体缓存模块,生成离线缓存文件。
如前描述的,本说明书实施例中通过修改MediaPlayer组件的源代码,由CacheDataSource模块和MediaCache模块代替原来的DataSource模块,保持原有的流媒体播放能力,但是修改了缓存策略部分,即将内存缓存写入到MediaCache模块进行持久化,形成离线缓存文件。
MediaCache模块生成的离线缓存文件可供App层后续直接读取,而无需启动MediaPlayer组件重复下载。
而且,由于将下载和存储两个功能在不同模块实现,可有效避免内存缓存失效的问题。这是因为,传统的Android视频缓存是通过DataSource模块来进行资源的下载,当下载到一定数量时将这些内容送到Extractor(提取器)进行解码播放,同时会把资源缓存到本地,但是这个缓存是一个内存缓存,不能持久化,一旦DataSource被销毁,与它关联的所有内存缓存都会失效。而本说明书实施例中,下载功能由CacheDataSource模块实现,缓存功能由MediaCache模块实现,通过在MediaCache模块生成离线缓存文件而使得内存缓存持久化,即使CacheDataSource模块被销毁,由于离线缓存文件的存在,也不会导致内存缓存的失效。
S203:存储离线缓存文件,并将存储的离线缓存文件供给应用程序层访问。
考虑到MediaCache模块是在Android系统中框架层的一个模块,没有暴露给App层,所以需要通过某种方式暴露给App层。
例如,可以通过创建一个媒体播放器(MediaPlayer)数据库将MediaCache模块暴露给App层,具体的,在App层和Framework层之间,创建一个MediaPlayer数据库,该MediaPlayer数据库可获取MediaCache模块传来的离线缓存文件,并且提供访问接口给App层,供App层读取到离线缓存文件。
再如,还可以通过Android系统的SharedPreferences(共享参数)的方式存储离线缓存文件。SharedPreferences是一种轻量级的数据存储方式,采用Key/value的方式进行映射,最终会在终端以xml的格式存储文件。SharedPreferences可以理解为android.content(内容)下的一个接口:用于访问和修改getSharedPreferences(获取共享参数)返回偏好设置数据(preference data)的一个接口。本说明书实施例中,当MediaCache模块生成离线缓存文件时,调用操作系统中的SharedPreferences方法,存储离线缓存文件。
可见,本说明实施例中,将存储的离线缓存文件供给应用程序层访问的方式可以包括:通过播放器数据库或共享参数方法向应用程序层提供访问接口,应用程序层通过访问接口读取离线缓存文件。当然,上述两种方式仅是示例性说明,还可以采取其他方式进行离线缓存文件的存储以及提供给应用程序层,本说明书实施例对此不做限定。
在应用程序层通过播放器数据库或共享参数方法提供的访问接口可以读取离线缓存文件的前提下,每次播放视频资源就不必都进行重复下载,而是可以首先查找是否存在有离线缓存文件,如果有,则直接读取离线缓存文件进行视频的播放,如果没有,再 启动框架层的MediaPlayer组件进行视频的播放和下载。因此,当应用程序层启动资源播放时,查询媒体播放器数据库或共享参数方法是否保存有离线缓存文件,如果有,直接读取离线缓存文件进行资源播放;如果没有,调用媒体播放器组件,由媒体播放器组件从云端进行视频的下载及播放。
第二方面,基于同一发明构思,图3示出了本说明书实施例提供的一种离线缓存系统的结构示意图。
该系统包括云端30和终端31。云端30可以包括私有云和内容私发网络等,对此不作限定。终端31示出了与本说明书实施例相关的部分,包括位于应用程序层的应用程序311和位于框架层的媒体播放器组件312,以及媒体播放器数据库313。其中,应用程序311进一步包括资源查询模块3111和媒体播放启动模块3112,媒体播放器组件312进一步包括缓存数据源模块3121和资源缓存模块3122,另外,媒体播放器组件312还包括客户池(client池)、播放器(player)和提取器(extractor)。
其中,缓存数据源模块3121从云端下载资源,并提交给资源缓存模块3122,生成离线缓存文件,资源缓存模块3122将离线缓存文件发送到媒体播放器数据库313进行存储。当应用程序311进行资源播放时,首先通过资源查询模块3111查询媒体播放器数据库313是否有离线缓存文件,如果有,直接读取文件进行资源播放,如果没有,则通过资源播放启动模块3112,启动媒体播放器组件312进行视频的播放和下载。
本说明实施例中,资源查询模块3111、媒体播放器数据库313、缓存数据源模块3121和资源缓存模块3122这四部分协同工作,实现离线缓存的存储及读取。
如前分析的,传统的Android视频缓存是通过一个DataSource模块来进行资源的下载,当下载到一定数量时将这些内容送到extractor进行解码播放,同时会把资源缓存到本地,但是这个缓存是一个内存缓存,不能持久化,一旦DataSource被销毁,与它关联的所有内存缓存都会失效。
为了解决这个问题本说明书实施例引入了缓存数据源模块3121(CacheDataSource)和资源缓存模块3122、(MediaCache)替换了原有的DataSource模块,保持原有的流媒体播放能力,但是修改了缓存策略部分,也就是将内存缓存写入到MediaCahe模块进行持久化,形成离线缓存文件,然后通过MediaCahe将离线缓存记录写入到媒体播放器数据库313(MediaPlayer数据库)中。
每次应用程序在播放视频前都会通过资源查询模块3111查询这个MediaPlayer数 据库是否存在离线缓存文件,如果存在离线缓存文件就直接播放这个文件,从而达到了一次下载随时播放的效果。
请参见图4,为本说明书实施例第三方面提供的离线缓存方法实例流程图,该流程图是参考图3的系统结构示意图实施的,仅作为一个示例给出。
图4包括如下步骤:
S401:终端启动视频播放;
S402:获取云端下发的视频URL;
S403:根据视频URL查询MediaPlayer数据库,获取资源记录;
S404:资源记录中是否存储有离线缓存文件?如果有,执行S405,如果没有执行S406;
S405:播放离线缓存文件;
S406:媒体播放启动模块调用MediaPlayer组件,设置播放资源的地址为视频URL;
S407:MediaPlayer组件为视频URL创建一个client,client中的extractor负责视频的编解码;
S408:Extractor会自动创建一个CacheDataSource模块;
S409:CacheDataSource从云端下载视频,并在每次下载完一定数量大小的内容后就交给extractor进行播放,同时将这部分资源写入MediaCache;
S410:CacheDataSource下载完资源所有内容,通知MediaCache缓存写入完成;
S411:MediaCache完成离线资源的保存,并将缓存资源记录到MediaPlayer数据库。
本说明书一个或多个实施例,至少具有以下有益效果:通过修改Android源代码中的MediaPlayer组件中的DataSource模块形成CacheDataSource模块和MediaCache模块,既保持了流媒体的播放解码能力,又将内存缓存进行了持久化,生成离线缓存文件,从而实现一次下载随时播放的能力,中间没有经过任何的代理服务器,大大降低了整个系统的IO,能够达到非常流畅的播放效果。
第四方面,基于同一发明构思,本说明书实施例提供一种离线缓存装置,该装置用于在终端进行资源离线缓存,终端的操作系统包括框架层和应用程序层。
请参考图5,为该装置结构示意图,该装置包括:位于所述框架层的缓存数据源模块501和媒体缓存模块502,以及存储模块503;其中:所述缓存数据源模块501,用于从云端下载媒体资源,并将所述媒体资源写入所述媒体缓存模块;所述媒体缓存模块502,用于根据所述缓存数据源模块写入的媒体资源,生成离线缓存文件;所述存储模块503,用于存储所述离线缓存文件,并将存储的离线缓存文件供给所述应用程序层访问。
在一种可选方式中,所述缓存数据源模块501和媒体缓存模块502,是通过修改所述框架层中媒体播放器组件的源代码,分别得到的用于流媒体下载的缓存数据源模块501以及用于写入内存缓存的所述媒体缓存模块502。
在一种可选方式中,所述缓存数据源模块501和媒体缓存模块502,是通过修改所述媒体播放器组件的源代码,保留所述媒体播放器组件中原数据源模块的流媒体播放及下载功能,并修改缓存策略,新增内存缓存持久化功能而得到的。
在一种可选方式中,所述存储模块503包括媒体播放器数据库5031;所述媒体缓存模块502生成离线缓存文件时,将所述离线缓存文件写入到所述媒体播放器数据库5031。
在一种可选方式中,所述存储模块503包括共享参数方法调用子模块5032;所述媒体缓存模块502生成所述离线缓存文件时,通过共享参数方法调用子模块5032,调用所述操作系统中的共享参数方法,存储所述离线缓存文件。
在一种可选方式中,所述播放器数据库5031或共享参数方法调用子模块5032,还用于向所述应用程序层提供访问接口,使得所述应用程序层通过访问接口读取所述离线缓存文件。
在一种可选方式中,所述应用程序层包括资源播放查询模块504;所述资源查询模块504用于,当启动资源播放时,查询所述媒体播放器数据库5031或所述共享参数方法子模块5032是否保存有所述离线缓存文件;如果有,读取所述离线缓存文件直接进行资源播放;如果没有,调用所述媒体播放器组件,由所述媒体播放器组件从云端进行视频的下载及播放。
第五方面,基于与前述实施例中离线缓存方法同样的发明构思,本发明还提供一种终端,如图6所示,包括存储器604、处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现前文所述离线缓存方法的任一方法的步骤。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口606在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。
第六方面,基于与前述实施例中离线缓存方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述离线缓存方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。
Claims (16)
- 一种离线缓存方法,用于在终端进行资源离线缓存,所述终端的操作系统包括框架层和应用程序层,所述方法包括在所述框架层创建缓存数据源模块和媒体缓存模块;所述缓存数据源模块从云端下载媒体资源,并将所述媒体资源写入所述媒体缓存模块,生成离线缓存文件;存储所述离线缓存文件,并将存储的离线缓存文件供给所述应用程序层访问。
- 根据权利要求1所述的方法,所述在所述框架层创建数据源模块和媒体缓存模块,包括:修改所述框架层中媒体播放器组件的源代码,创建用于流媒体下载的缓存数据源模块以及用于写入内存缓存的所述媒体缓存模块。
- 根据权利要求2所述的方法,所述修改所述框架层中媒体播放器组件的源代码,包括:修改所述媒体播放器组件的源代码,保留所述媒体播放器组件中原数据源模块的流媒体播放及下载功能,并修改缓存策略,新增内存缓存持久化功能。
- 根据权利要求1所述的方法,所述存储所述离线缓存文件包括:创建媒体播放器数据库;当所述媒体缓存模块生成离线缓存文件后,将所述离线缓存文件写入到所述媒体播放器数据库。
- 根据权利要求1所述的方法,所述存储所述离线缓存文件包括:当所述媒体缓存模块生成所述离线缓存文件后,调用所述操作系统中的共享参数方法,存储所述离线缓存文件。
- 根据权利要求4或5所述的方法,所述将存储的离线缓存文件供给所述应用程序层访问,包括:所述播放器数据库或共享参数方法向所述应用程序层提供访问接口,所述应用程序层通过所述访问接口读取所述离线缓存文件。
- 根据权利要求6所述的方法,还包括:当所述应用程序层启动资源播放时,查询所述媒体播放器数据库或所述共享参数方法是否保存有所述离线缓存文件;如果有,直接读取所述离线缓存文件进行资源播放;如果没有,调用所述媒体播放器组件,由所述媒体播放器组件从云端进行视频的下载及播放。
- 一种离线缓存装置,用于在终端进行资源离线缓存,所述终端的操作系统包括框架层和应用程序层,所述装置包括在所述框架层创建的缓存数据源模块和媒体缓存模块;所述缓存数据源模块,用于从云端下载媒体资源,并将所述媒体资源写入所述媒体缓存模块;所述媒体缓存模块,用于根据所述缓存数据源模块写入的媒体资源,生成离线缓存文件;存储模块,用于存储所述离线缓存文件,并将存储的离线缓存文件供给所述应用程序层访问。
- 根据权利要求8所述的装置,所述缓存数据源模块和媒体缓存模块,是通过修改所述框架层中媒体播放器组件的源代码,分别得到的用于流媒体下载的缓存数据源模块以及用于写入内存缓存的所述媒体缓存模块。
- 根据权利要求9所述的装置,所述缓存数据源模块和媒体缓存模块,是通过修改所述媒体播放器组件的源代码,保留所述媒体播放器组件中原数据源模块的流媒体播放及下载功能,并修改缓存策略,新增内存缓存持久化功能而得到的。
- 根据权利要求8所述的装置,所述存储模块包括媒体播放器数据库;所述媒体缓存模块生成离线缓存文件后,将所述离线缓存文件写入到所述媒体播放器数据库。
- 根据权利要求8所述的装置,所述存储模块包括共享参数方法调用子模块;所述共享参数方法调用子模块,用于在所述媒体缓存模块生成所述离线缓存文件后,调用所述操作系统中的共享参数方法,存储所述离线缓存文件。
- 根据权利要求11或12所述的装置,所述播放器数据库或共享参数方法调用子模块,还用于向所述应用程序层提供访问接口,使得所述应用程序层通过访问接口读取所述离线缓存文件。
- 根据权利要求13所述的装置,所述应用程序层包括资源查询模块;所述资源查询模块用于,当启动资源播放时,查询所述媒体播放器数据库或所述共享参数方法调用子模块是否保存有所述离线缓存文件;如果有,读取所述离线缓存文件直接进行资源播放;如果没有,调用所述媒体播放器组件,由所述媒体播放器组件从云端进行视频的下载及播放。
- 一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
- 一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/838,920 US10880583B2 (en) | 2019-04-26 | 2020-04-02 | Method, apparatus, terminal, and readable storage medium for offline caching |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910345424.4 | 2019-04-26 | ||
| CN201910345424.4A CN110267077B (zh) | 2019-04-26 | 2019-04-26 | 离线缓存方法、装置、终端及可读存储介质 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/838,920 Continuation US10880583B2 (en) | 2019-04-26 | 2020-04-02 | Method, apparatus, terminal, and readable storage medium for offline caching |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020215833A1 true WO2020215833A1 (zh) | 2020-10-29 |
Family
ID=67913978
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/071483 Ceased WO2020215833A1 (zh) | 2019-04-26 | 2020-01-10 | 离线缓存方法、装置、终端及可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN110267077B (zh) |
| WO (1) | WO2020215833A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110267077B (zh) * | 2019-04-26 | 2020-11-06 | 创新先进技术有限公司 | 离线缓存方法、装置、终端及可读存储介质 |
| US10880583B2 (en) | 2019-04-26 | 2020-12-29 | Advanced New Technologies Co., Ltd. | Method, apparatus, terminal, and readable storage medium for offline caching |
| CN112148385B (zh) * | 2020-09-28 | 2023-11-10 | 广东睿住智能科技有限公司 | 数据加载方法、系统及计算机可读存储介质 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102035881A (zh) * | 2010-11-19 | 2011-04-27 | 清华大学 | 一种云端存储系统的数据缓存方法 |
| KR20120056472A (ko) * | 2010-11-25 | 2012-06-04 | 주식회사 케이티 | 모바일 웹 어플리케이션 프레임워크 |
| US20140040616A1 (en) * | 2012-08-03 | 2014-02-06 | Palo Alto Research Center Incorporated | Broadcast deduplication for satellite broadband |
| CN105760232A (zh) * | 2016-02-19 | 2016-07-13 | 四川长虹电器股份有限公司 | 用于ios应用的离线缓存方法及系统 |
| CN107480235A (zh) * | 2017-08-08 | 2017-12-15 | 四川长虹电器股份有限公司 | 一种数据平台的数据库构架 |
| CN109240613A (zh) * | 2018-08-29 | 2019-01-18 | 平安科技(深圳)有限公司 | 数据缓存方法、装置、计算机设备及存储介质 |
| CN110267077A (zh) * | 2019-04-26 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 离线缓存方法、装置、终端及可读存储介质 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7213085B2 (en) * | 2002-11-15 | 2007-05-01 | Microsoft Corporation | Use of a media cache for subsequent copying acceleration |
| US20100318745A1 (en) * | 2009-06-16 | 2010-12-16 | Microsoft Corporation | Dynamic Content Caching and Retrieval |
| CN106354879A (zh) * | 2016-09-27 | 2017-01-25 | 北京奇虎科技有限公司 | 网页缓存方法及装置 |
| US20180352287A1 (en) * | 2017-06-02 | 2018-12-06 | Apple Inc. | Persistent ID for Offline Access to Streamed Media |
| CN108062371A (zh) * | 2017-12-12 | 2018-05-22 | 华南理工大学 | 一种Android设备网页数据处理系统及其数据处理方法 |
| CN109597568B (zh) * | 2018-09-18 | 2022-03-04 | 天津字节跳动科技有限公司 | 一种数据存储方法、装置、终端设备及存储介质 |
-
2019
- 2019-04-26 CN CN201910345424.4A patent/CN110267077B/zh active Active
-
2020
- 2020-01-10 WO PCT/CN2020/071483 patent/WO2020215833A1/zh not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102035881A (zh) * | 2010-11-19 | 2011-04-27 | 清华大学 | 一种云端存储系统的数据缓存方法 |
| KR20120056472A (ko) * | 2010-11-25 | 2012-06-04 | 주식회사 케이티 | 모바일 웹 어플리케이션 프레임워크 |
| US20140040616A1 (en) * | 2012-08-03 | 2014-02-06 | Palo Alto Research Center Incorporated | Broadcast deduplication for satellite broadband |
| CN105760232A (zh) * | 2016-02-19 | 2016-07-13 | 四川长虹电器股份有限公司 | 用于ios应用的离线缓存方法及系统 |
| CN107480235A (zh) * | 2017-08-08 | 2017-12-15 | 四川长虹电器股份有限公司 | 一种数据平台的数据库构架 |
| CN109240613A (zh) * | 2018-08-29 | 2019-01-18 | 平安科技(深圳)有限公司 | 数据缓存方法、装置、计算机设备及存储介质 |
| CN110267077A (zh) * | 2019-04-26 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 离线缓存方法、装置、终端及可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110267077A (zh) | 2019-09-20 |
| CN110267077B (zh) | 2020-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210216700A1 (en) | Information Processing Method and System | |
| US11706331B2 (en) | Information processing method and apparatus, storage medium, and electronic device | |
| US8788760B2 (en) | Adaptive caching of data | |
| US9690764B1 (en) | Delivery and display of page previews using shadow DOM | |
| JP6137505B2 (ja) | ウェブアプリケーションのための軽量フレームワーク | |
| US12206929B2 (en) | Video playing method and apparatus | |
| US20130179791A1 (en) | System and method for real-time data in a graphical user interface | |
| CN110413418A (zh) | 缓存同步装置及方法,缓存同步系统、电子设备 | |
| US11176223B1 (en) | Page rendering by an intermediary system that uses a truncated library | |
| CN111880899A (zh) | 一种基于云原生架构的大数据流处理方法和装置 | |
| WO2018035799A1 (zh) | 数据查询方法、应用和数据库服务器、中间件及系统 | |
| CN110267077B (zh) | 离线缓存方法、装置、终端及可读存储介质 | |
| CN113297267B (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
| CN116708583A (zh) | 业务执行方法、存储介质、设备及分布式系统 | |
| US11556608B2 (en) | Caching for single page web applications | |
| CN112395437B (zh) | 一种3d模型的加载方法、装置、电子设备及存储介质 | |
| US20260057196A1 (en) | Dynamic generation of instructions for machine learning transcreation tasks | |
| US20150067089A1 (en) | Metadata driven declarative client-side session management and differential server side data submission | |
| CN117061590B (zh) | Cdn针对url封禁和定制封禁内容的方法及设备 | |
| CN112765503A (zh) | 页面加载数据的静态化处理方法和装置 | |
| CN107426271A (zh) | 一种服务器中数据处理方法及系统 | |
| WO2024251107A1 (zh) | 容器编排与数据访问方法、电子设备及存储介质 | |
| US9088463B1 (en) | Container contract for data dependencies | |
| US10880583B2 (en) | Method, apparatus, terminal, and readable storage medium for offline caching | |
| CN117724741A (zh) | Mapper配置文件的更新方法、装置和存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20796099 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20796099 Country of ref document: EP Kind code of ref document: A1 |