WO2016115957A1 - 一种面向用户与应用的计算机与智能设备加速方法和装置 - Google Patents

一种面向用户与应用的计算机与智能设备加速方法和装置 Download PDF

Info

Publication number
WO2016115957A1
WO2016115957A1 PCT/CN2015/098536 CN2015098536W WO2016115957A1 WO 2016115957 A1 WO2016115957 A1 WO 2016115957A1 CN 2015098536 W CN2015098536 W CN 2015098536W WO 2016115957 A1 WO2016115957 A1 WO 2016115957A1
Authority
WO
WIPO (PCT)
Prior art keywords
cache
cloud
data
hardware
user
Prior art date
Application number
PCT/CN2015/098536
Other languages
English (en)
French (fr)
Inventor
张维加
Original Assignee
张维加
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 张维加 filed Critical 张维加
Publication of WO2016115957A1 publication Critical patent/WO2016115957A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • This product belongs to the field of computer equipment and information science and technology. It is a computer and smart device acceleration method based on cross-device interaction between big data and cloud technology.
  • the cache referred to in the present invention mainly refers to the disk cache of the computer and the intelligent computing device, that is, the cache for speeding up the computer or running, breaking the performance bottleneck of the disk, instead of the video streaming cache or the routing web cache. .
  • Disk caching technology has emerged to address disk speed bottlenecks.
  • the improvement in disk performance lags far behind electronic devices such as processors, which makes the storage system still a performance bottleneck for the entire computer system.
  • Caching and Prefetching are two very effective techniques that can improve the performance of a storage system.
  • the idea of caching technology is to put frequently accessed data in fast access devices, speeding up access and reducing latency.
  • the prefetching technique pre-fetches data that may be accessed in the future from the slow device into the fast device.
  • prefetching is actually a kind of disk cache provisioning, in this paper, the two are collectively referred to as disk caching technology.
  • Caching is a buffer layer between the high-performance device of the upper level and the low-performance device of the next level when the read/write performance difference between the upper and lower layers is large.
  • the lower performance devices at the next level, and the performance is often lower than the high-performance devices of the previous level, but the speed is higher than that of the low-performance devices, and the performance is improved by transferring the read and write to the low-performance devices.
  • the word Cache comes from a 1967 electronic engineering journal paper. Any structure that is used to coordinate the difference in data transmission speed between two types of hardware with large speed differences can be called Cache.
  • LRU is the most widely used cache management algorithm.
  • the core idea of the algorithm is to replace the least-accessed data of those devices in the cache for the most recent period, so as to maximize the efficiency of the cache.
  • cache management algorithms that are the opposite of LRUs, which are designed for specific access patterns in the application.
  • MRU Most Recently Used
  • MRU is also called a read-and-replace algorithm.
  • the MRU always replaces the most recently used data block from the device cache.
  • the MRU was originally designed for access patterns similar to sequential scans and circular scans. Whether based on spatial locality or access frequency, the ultimate goal of the cache management algorithm is to increase the hit rate of the device-side cache and minimize the number of disk I/Os on the device.
  • Prefetching is another important technology to improve the performance of storage systems. Prefetching is the one that has not yet Data that is accessed but may be accessed in the future is read in advance from a low-speed storage device such as a disk to a high-speed storage device such as a cache to increase the speed of data access and ultimately improve the performance of the entire storage system.
  • prefetching technology depends mainly on two aspects: one is the accuracy of prefetching and the cache hit rate affected by it, and the other is the sequential mining in prefetching. Some studies attempt to improve the accuracy of predictions by preserving more and more historical access information. Another type of algorithm uses the historical access information of the device to mine the access relationships between files or between data blocks, and based on these relationships, predicts future access data and improves the cache hit rate.
  • the old caching technology is based on devices, and its purpose is to improve device performance and improve performance for everything.
  • the cache has to be designed with the device as the object, which is non-portable, forms a hardware bundle, and cannot be universal.
  • the performance improvement of one device does not help other devices, that is, , can not reduce the marginal cost, can not improve the marginal utility, for example, by setting a larger cache, Samsung 850EVO disk has better performance than the 840EVO, but this thing does not help the existing 840EVO, third
  • Samsung, for example, its SSD cache is generally designed to be low. The reason is very simple. As its designer said, users generally do not feel the performance improvement brought by higher cache. Although the performance index has gone up, the actual application satisfaction is low.
  • the old cache prefetch algorithm, optimization, and self-learning are all local.
  • the effect is expected to be the real-time effect brought by the hardware. Even if there is post-optimization, it is hoped for long-term correction. . This is because, in the past, any cache prefetching system could not obtain cache information of other devices, nor could it affect the operation of other devices, let alone device-targeted applications and user types (user groups). In the case of a huge difference between devices, even if the interaction between the various device systems is realized, it seems meaningless:
  • disk caches have formed an isolated system with their respective devices, with no interaction with the cache of other devices.
  • Disk cache outside the processor cache a few server applications have caching technology, some desktop computer applications have solid-state hard disk caching technology (such as hybrid hard disk), between these devices, no cache, cached, and completely different cache devices The difference between devices is huge. Therefore, device-oriented caching technology has no possibility of interaction.
  • solid-state hard disk caching technology such as hybrid hard disk
  • the past disk cache or computer cache prefetch is device-oriented, local, resulting in difficult to transplant, not universal, low marginal utility, high marginal cost, low actual application satisfaction rate, slow optimization and time-consuming issues.
  • the inventor proposes a cross-device computing acceleration system, which is essentially performance delivery.
  • the cross-device cache system is short-distance but multi-channel between the server and the server.
  • the network can deliver performance in a short distance, and the server can rely on fiber optics to achieve interaction.
  • the cross-device caching system can form a network, obtain big data, and apply cloud technology.
  • the invention provides a computer acceleration method and device for users and applications.
  • the solution of the present invention changes the local characteristics of the previous cache and prefetching technologies, and mines the cached scheme and the empirical data characteristics.
  • the cache operation of the device object type is a cache operation of the application and the user object type, and the fixed device type operation is networked across devices. Cooperative operation, the single cache prefetch device is changed to three levels.
  • the cache prefetching technology provided by the present invention adopts a three-level structure in architecture: a cache prefetching control device of a large number of terminals, as a primary control device, contributing big data, and The number of cloud servers, but especially the fuzzy computing power, is used as a secondary control device for cloud computing, and the external solid-state hardware of the USB interface carried by the control device is completed in three stages.
  • the three-level structure is no longer local, and they work together through a network connection.
  • This method requires multiple or a large number of cache prefetch terminal control devices and a cloud server with fuzzy analysis capabilities.
  • the terminal control device performs pre-processing on the accelerated computing device, including loading the acceleration hardware, detecting the network device, and dividing the memory and the storage device, and then the control device performs different types of reading and writing tests on the hardware parts of the device (eg, 4K reading and writing, Sequential read and write, etc., to model the device into a combination of different performance parameter data devices, devices and various types of caches
  • the equipment is also categorized in order to apply an optimization scheme. For example, the tag separates the parallel device from the serial device.
  • a fine-grained synchronous lock mechanism is used to increase the parallelism of the I/O process, thereby improving I/O performance.
  • the tag distinguishes I/O.
  • Type determine the type of random read operation I/O that the cache device is good at. By discriminating its characteristics during the I/O process, the cache device is preferentially allocated for caching.
  • control device initially analyzes various application information on the service device and user feature data of the network operation, and then submits to the cloud together with the hardware modeling result, and the cloud performs statistical and fuzzy analysis after receiving the data, according to prior experience.
  • the data archive gives an optimized acceleration scheme for different modeling users for different user types (user groups) of different applications, and returns to the cache service device for the first processing.
  • the control device After the initial application of the cloud to return the first configuration guide, after a period of self-learning and optimization, the control device then counts the proportion of each application read operation write operation, I/O request type, common file number and size, usage frequency, and user. Type characteristics, etc., after a period of time combined with self-test and user feedback collection to feedback the cloud again. Upload these optimized cache mode configuration data in the respective systems to the processing server (the cloud) in cipher text.
  • the cloud records the data and feedback and gives a correction or a second preferred solution. Repeat this several times to achieve basic improvement and save the final result and optimization history in the cloud.
  • the cloud After receiving the optimized final data, the cloud performs statistics and analysis, and uses application-level objects such as applications, games, and web sites as statistical objects, and analyzes and optimizes the cache configuration or pre-fetching scheme for different applications (or different applications). Cache configuration or prefetching optimization scheme for specific situations such as devices and users, so that the optimized cache scheme and prefetch scheme are returned to the cache service device for processing, such as optimization, by active feedback or passive response. Prejudgment, etc. See Figure 1.
  • the data uploaded and downloaded between the cache service device and the cloud is all transmitted in the form of cipher text.
  • the data uploaded by the cache service device may further include a cache hardware feature of the respective device, and may also be used for applying the cloud feedback back.
  • the cache optimization scheme given in the cloud analysis is not an application, but a specific, classified, such as what kind of cache structure, what kind of cache or prefetch scheme is adopted for the application. This kind of different processing according to various types of cache devices is beneficial to the application optimization scheme.
  • the data uploaded by the cache service device may further include user group feature data, such as age range, occupation range, interest range, etc.
  • the optimized cache solution of the cloud feedback also includes different application types (user groups) for different applications. Optimization or prejudging scheme for the use characteristics of the object. For example, users in certain industries and age groups have their own obvious demographic characteristics. For example, older people will not use a large number of 3D games that read random caches, but prefer to use more browsers that write caches. Knowing these features and applying them will make better use of prefetching and caching. Of course, this information is user group information, and the device does not need or never acquire any individual of the user. information. These user group information is also encrypted.
  • the control device can also choose to turn on the service node mode (the user has the option). If the user allows the service node mode to be enabled, the control device will also provide other peripheral users with services such as cdn cache, close network cache, VPN service, smtp service, etc. according to the instructions of the cloud server. At the same time, users will also receive a certain return on their income.
  • a plurality of sample devices are provided according to the method, as shown in the specific implementation case section.
  • the invention can change the cache optimization and prefetch optimization mechanism of the computing device, and can improve the cache acceleration capability of the cache device for the first used application, the newly installed application, the newly visited website, and the application with low frequency of use. For frequently used applications, you can further enhance the cache and prefetch effects by focusing on device hardware features and user type characteristics.
  • the effect is wide.
  • the website and related websites that the user cares about can be quickly accessed, even if the user may only visit the website for the first time or the second time (this ratio) It accounts for a large proportion.
  • 60% of Internet users access the website less than three times, which was impossible in the past.
  • the device relies on the big data of the user base to dig out more website relevance and acceleration technologies.
  • Example 1 A large number of folders of a game program on the service device are presented with frequent reading features.
  • the pre-judgment work can be directly performed, such as caching the file that is frequently read and written on other devices. Clip to high-speed devices without having to re-accumulate cached data.
  • Example 2 A large number of programs on the service device present frequent write jobs, such as a shopping browser, when the browser is launched, it can be preliminarily assigned a large write cache without re-accumulation. Cache data.
  • the devices are versatile, portable, and interconnected, and can be upgraded to complete ongoing functional upgrades.
  • the invention creates a new cache prefetching mode of operation and device manufacturing method.
  • the past disk cache or computer cache prefetch is device-oriented, local, resulting in difficult to transplant, not universal, low marginal utility, high marginal cost, low actual application satisfaction rate, slow optimization and time-consuming issues, etc. .
  • the new cache prefetching is based on the application and user type (user group), network-based, versatile and portable, with network scale effect, high marginal utility, high application satisfaction rate, and Optimized configuration quickly.
  • the cache prefetching technology provided by the present invention adopts device modeling in the method flow---application and user type data and device model are transmitted to the cloud----cloud Calculate the initial optimization attempt----feedback acquisition to the cloud----the cloud second correction feedback and record the data----repeated several times until the feedback is perfected and the history is recorded.
  • There is an iteration in the workflow in the present invention and in the process of work, a big data reflecting the relationship between the application feature and the user type feature and the hardware model is constructed from scratch, and a new fuzzy analysis and iterative guidance is constructed. Cloud computing mode.
  • the traditional cache prefetching is often completed in one device, and the cache prefetching technology provided by the present invention adopts a three-level structure in the architecture: a cache prefetching control device of a large number of terminals, as a primary control device, contributing a large The data, as well as a small number of cloud servers with strong analysis and especially fuzzy computing capabilities, as a secondary control device, for cloud computing, plus the external solid-state hardware of the USB interface carried by the control device, is completed in three levels.
  • the three-level structure is no longer local, and they work together through a network connection.
  • the apparatus to which the method of the present invention is applied may be either hardware or software, or a combination of hardware and software.
  • the apparatus to which the method of the present invention is applied may be either hardware or software, or a combination of hardware and software.
  • the first example comes with a control unit and an external solid-state acceleration hardware with a USB 3.0 cable.
  • the solid-state acceleration hardware has 620MB sequential read per second, 550MB sequential writes per second, 120MB per second for 4K reads, and 160MB per second for 4K writes.
  • the above speed is measured by Thunderbolt at the factory, and can be roughly measured under USB3.
  • the workflow of the device see Figure 2):
  • the first step is cache loading and virtualization.
  • the second step is to measure the work.
  • control device After the preparation operation is completed, the control device performs different types of read and write tests on the device hardware and various cache components created, such as 4K read and write, 512K random read and write, sequential read and write, etc., and determines the cache performance characteristics of each part of the device to be accelerated.
  • the external acceleration hardware is also involved in the test, because the USB interface of the device will have a big impact.
  • the third step is modeling work.
  • the device is modeled into a combination of data devices of different performance parameters, and each read and write performance of each part is given. Ratings and comprehensive scores are categorized, such as whether the part is a random read cache device or a 4K write cache device.
  • This categorization information will be encrypted and uploaded to the cloud together with the cache optimization data of the machine, and will also be used to apply the cloud feedback back. Because the cache optimization scheme given in the cloud analysis is not a single application, but a specific, classified, such as what kind of cache structure, which solution is applied. This kind of different processing according to various types of cache devices is beneficial to the application optimization scheme.
  • the tag separates the parallel device from the serial device, and, for example, the tag distinguishes the type of I/O, determines the I/O type of the random read operation that the cache device is best at, and discriminates its characteristics in the I/O process, and preferentially allocates The cache device is cached.
  • the fourth step is to scan the application status and roughly determine the user type (user group).
  • the scanner installation directory gets the application type, scans the Prefetch directory and logs to get the application frequency, scans the system TEMP folder to get the frequently visited website and infers the user type characteristics according to the website, infers the user's habits.
  • the device roughly judges the characteristics of the user group according to the website URL and the cache file, and determines the occupation, interest, age, and the like of the user according to the device type, age, and application distribution on the device.
  • this information is the characteristic information of the user group, and the device does not need or never acquire any personal information of the user. And all of this user group information is passed to the cloud in encrypted form.
  • the data is initially uploaded to the cloud.
  • the control device initially analyzes and submits various application information on the serviced device and user feature data of the network operation, and hardware modeling results to the cloud.
  • the sixth step is the preliminary fuzzy analysis of the cloud.
  • the cloud After receiving data such as application data, user group characteristics, and hardware modeling results, the cloud performs statistical and fuzzy analysis after receiving the data, and provides different users for different modeling hardware according to the prior empirical data files.
  • the group's optimization acceleration scheme returns to the cache service device for the first processing.
  • the above example may be handled as follows: According to the server database data, since a large number of folders on the service device of Warcraft have a frequent read feature, the cloud return scheme requires that the folder that is frequently read and written to C be cached. According to the server database data, a large number of Taobao browsers on the service device all show frequent write work, so they allocate a large write cache to B; a large number of service devices on Word involve a large number of 4K read and write, allocation A area Because users like to shop and browse car related websites, and page tours such as 4399, the cloud return solution requires cached the main page of the pre-fetch related website, and arranges some cache redirection to nearby nodes with cdn technology; and for the uploaded data and The model is given to some other system and application cache prefetch configuration schemes.
  • the server After the analysis is completed, the server returns the above scheme to the control device.
  • the seventh step depth data and test results feedback.
  • control device After a period of time, the control device performs self-test and user feedback collection, and uploads the depth data obtained in a period of time, which should include the read operation write ratio, I/O request type, common file number and size, and use. Frequency, feedback cloud, cloud gives correction or second preferred solution based on feedback.
  • the eighth step is to iterate over the scheme.
  • the server database is updated and the final result is saved in the cloud with the optimization history.
  • the cloud server receives the final optimized cache mode configuration data in the respective systems in cipher text, and processes the statistics of various applications, games, network operations and related files cached by the server for multiple devices to apply,
  • User and device models are classified into units, such as: building industry users, the best AutoCAD cache and prefetching solution on the Dell Latitude 600 computer. (The best cache prefetching scheme for the same application on different types of users and different devices is obviously different.) In order to coordinate new devices later.
  • the tenth step is to re-service the node (user selectable mode).
  • the control device can also choose to turn on the service node mode (the user has the option). If the user allows the service node mode to be enabled, the control device will also provide other peripheral users with services such as cdn cache, close network cache, VPN service, smtp service, etc. according to the instructions of the cloud server. At the same time, users will also receive a certain return on their income.
  • the design of the device 1 includes: 1. providing intelligent compression and automatic background release to the system memory; 2. the device virtualizes the application to pre-store more or all program files and system environment files required by the program. In the cache (the virtualization principle can be redirected and environment virtualization technologies, etc., the virtualized application itself contains, can be).
  • the first step is to create and virtualize the cache.
  • the second step is to measure the work.
  • control device After the preparation operation is completed, the control device performs different types of read and write tests on the device hardware and various cache components created, such as 4K read and write, 512K random read and write, sequential read and write, etc., and determines the cache performance characteristics of each part of the device to be accelerated. These external devices also participate in testing when there are external hardware devices such as external solid state drives.
  • the third step is modeling work.
  • the device is modeled into a combination of data devices of different performance parameters, and each read and write of each part is given.
  • This categorization information will be encrypted and uploaded to the cloud together with the cache optimization data of the machine, and will also be used to apply the cloud feedback back. Because the cache optimization scheme given in the cloud analysis is not a single application, but a specific, classified, such as what kind of cache structure, which solution is applied. This kind of different processing according to various types of cache devices is beneficial to the application optimization scheme.
  • the tag separates the parallel device from the serial device, and, for example, the tag distinguishes the type of I/O, determines the I/O type of the random read operation that the cache device is best at, and discriminates its characteristics in the I/O process, and preferentially allocates The cache device is cached.
  • the fourth step is to scan the application status and roughly determine the user type (user group).
  • our control device does this: the scanner installation directory obtains the application type, scans the Prefetch directory and logs to obtain the application frequency, scans the system TEMP folder to obtain the frequently visited website, and infers the user group characteristics according to the website, infers the user. habit.
  • the device roughly judges the characteristics of the user group according to the website URL and the cache file, and determines the occupation, interest, age, and the like of the user according to the device type, age, and application distribution on the device.
  • this information is the characteristic information of the user group, and the device does not need or never acquire any personal information of the user. And all of this user group information is passed to the cloud in encrypted form.
  • the data is initially uploaded to the cloud.
  • the control device initially analyzes and submits various application information on the serviced device and user feature data of the network operation, and hardware modeling results to the cloud.
  • the sixth step is the preliminary fuzzy analysis of the cloud.
  • the cloud After receiving data such as application data, user group characteristics, and hardware modeling results, the cloud performs statistical and fuzzy analysis after receiving the data, and provides different users for different modeling hardware according to the prior empirical data files.
  • the group's optimization acceleration scheme returns to the cache service device for the first processing.
  • the above example may be handled as follows: According to the server database data, since a large number of folders on the service device of Warcraft have a frequent read feature, the cloud return scheme requires that the folder that is frequently read and written to C be cached. According to the server database data, a large number of Taobao browsers on the service device all show frequent write work, so they allocate a large write cache to B; a large number of service devices on Word involve a large number of 4K read and write, allocation A area Because users like to shop and browse car related websites, and page tours such as 4399, the cloud return solution requires cached the main page of the pre-fetch related website, and arranges some cache redirection to nearby nodes with cdn technology; and for the uploaded data and The model is given to some other system and application cache prefetch configuration schemes.
  • the server After the analysis is completed, the server returns the above scheme to the control device.
  • the seventh step depth data and test results feedback.
  • control device After a period of time, the control device performs self-test and user feedback collection, and uploads the depth data obtained in a period of time, which should include the read operation write ratio, I/O request type, common file number and size, and use. Frequency, feedback cloud, cloud gives correction or second preferred solution based on feedback.
  • the eighth step is to iterate over the scheme.
  • the server database is updated and the final result is saved in the cloud with the optimization history.
  • the cloud server receives the final optimized cache mode configuration data in the respective systems in cipher text, and processes the statistics of various applications, games, network operations and related files cached by the server for multiple devices to apply,
  • User and device models are classified into units, such as: building industry users, the best AutoCAD cache and prefetching solution on the Dell Latitude 600 computer. (Because the best cache prefetch scheme for the same application on different types of users, different devices is obviously different.) In order to coordinate the new device later.
  • the design of the sample device also includes: 1. providing intelligent compression and automatic background release to the system memory; 2. the device virtualizes the application to pre-store more or all program files and system environment files required by the program. In the cache.
  • FIG. 1 Schematic diagram of the sample device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种面向用户与应用的计算机与智能设备加速方法和装置,在大量计算机上布置缓存与预取服务控制装置,这些装置在设备上创建内存虚拟磁盘,然后对各硬件部分进行不同类型读写测试,将设备建模成不同性能参数数据装置的组合,控制装置也可带外接固态硬件并参与建模,随后控制装置初步分析被服务设备上的应用信息,并通过网络操作等分析用户类型,与硬件建模一起对云端提交,云端分析后据先有档案对不同类型硬件给出针对不同应用不同用户群的加速方案,返回装置进行初步处理,同时装置开始统计各应用读写操作、I/O类型、操作频率等,一段时间后结合效果反馈再次反馈云端,云端记录并给出校正方案。反复迭代到基本完善,再将最终方案与历史保存云端。

Description

一种面向用户与应用的计算机与智能设备加速方法和装置 技术领域
该产品属于计算机设备与信息科学技术领域。是一种基于大数据与云技术的跨设备交互的计算机与智能设备加速方法。
背景技术
首先需要说明的是,本发明所指的缓存主要是指的计算机与智能计算设备的磁盘缓存,即用于加速电脑或运行,突破磁盘性能瓶颈的缓存,而不是视频流媒体缓存或路由web缓存。
磁盘缓存技术是为了解决磁盘速度瓶颈而出现的。磁盘性能的提高远远落后于处理器等电子设备,这使得存储系统仍旧是整个计算机系统的性能瓶颈。缓存(Caching)以及预取(Prefetching)是能够提高存储系统性能的两种非常有效的技术。缓存技术的思想是将经常访问的数据放在快速访问设备中,加快其存取速度,减少等待时间。预取技术是把将来有可能马上要被访问到的数据预先从慢速设备中预取到快速设备中。其中,由于预取实际上也是磁盘缓存调配的一种,故在本文中将两者统称为磁盘缓存技术。
缓存技术(Caching),顾名思义,就是当上下两层次的设备读写性能差异较大时,介于上一级的高性能设备与下一级的低性能设备之间的一个缓冲层,其容量低于下一级的低性能设备,而性能往往低于上一级的高性能设备,但是其速度大于低性能设备,通过转移原本指向低性能设备的读写来提升性能。Cache一词来源于1967年的一篇电子工程期刊论文。凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为Cache。正是考虑到了缓存技术在整个存储体系中的重要地位,大量以提高缓存命中率、最小化磁盘I/O数量为目标的缓存管理算法纷纷涌现。比如,LRU是应用最为广泛的缓存管理算法,算法的核心思想就是优先将那些设备在最近一段时期内最少访问的数据替换出缓存,从而最大限度保障缓存的利用效率。另外,还有一些与LRU相反的缓存管理算法,它们是针对应用中特定访问模式而设计的。比如最多使用替换算法(Most Recently Used,MRU)也被称为读取-替换算法。与LRU优先替换出设备最近最少使用的数据不同,MRU总是从设备缓存中替换出最近使用的数据块。之所以如此,是因为MRU最初是为一些类似于顺序扫描、循环扫描的访问模式所设计的。无论是基于空间局部性还是访问频率,缓存管理算法的最终目标就是提高设备端缓存的命中率、最小化设备磁盘I/O的数量。
预取技术(Prefetching)是提高存储系统性能的另一项重要技术。预取是将那些尚未 访问但未来可能访问的数据预先从磁盘等低速存储设备成批读取到缓存等高速存储设备中,以提高数据访问的速度,并最终提升整个存储系统的性能。
预取技术的有效性主要取决于两个方面:一个是预取的精确度以及受其影响的缓存命中率,另一个则是预取中顺序性的挖掘。一些研究试图通过保存更多更久的历史访问信息来提升预测的准确性。另外一类算法则通过设备的历史访问信息来挖掘文件之间或者数据块之间的访问关系,并基于这些关系预测未来的访问数据,提高缓存的命中率。
无论缓存还是预取,一直以来,存在许多问题,以致于影响了其应用。
比如,旧的缓存技术是以设备为对象,其目的在于提升设备性能,使之做任何事情都有性能提升。这样有三个弊端,第一,缓存都不得不以设备为对象设计,具备了不可移植性,形成了硬件捆绑,不能通用,第二,一个设备的性能提升对于其他设备没有任何帮助,也就是说,无法降低边际成本,无法提升边际效用,举例来说,通过设置了更大的缓存,三星850EVO磁盘获得了比840EVO更好的性能,但是这件事对于现有的840EVO没有任何帮助,第三,对用户帮助很小,还是以三星为例,其固态硬盘的缓存一般都设计地较低,原因很简单,正如其设计师所述,用户一般感觉不到更高缓存带来的性能提升,性能指标跑分虽然上去了,实际应用满意度却较低。
又比如,旧的缓存预取的算法、优化、自我学习都是局域的,针对具体设备的,将效果寄望于硬件带来的即时效果,即使有后期优化也寄希望于长时间的校正。这是因为,在过去,任何缓存预取系统既无法获得其他设备的缓存信息,也无法影响其他设备的运行,更何况在不以应用和用户类型(用户群)为对象而以设备为对象的情况下,设备之间差异巨大即使实现各个设备系统之间的交互似乎也毫无意义:
原因1.无法获得其他设备的缓存信息
在过去,磁盘缓存都与各自设备形成一个孤立的系统,与其他设备的缓存并没有任何交互。
原因2.无法影响其他设备的运行
既然各自都是孤立的系统,自然无法彼此影响。
原因3.设备之间差异巨大即使实现各个设备系统之间的交互似乎也毫无意义
以缓存本身的建立过程为例,需要积累该设备的运行数据,才能统计出常用文件,并将这些常用文件进行缓存。显然,此处所说的常用文件就是针对具体设备,离开了具体设备根本就没有常用文件这个概念。一个计算机工程师的电脑常用程序,比如Visual C或者Dreamwaver,可能在普通用户的计算机上根本就不会安装,那两者之间的缓存系统又有什么可比性呢?更何况,不同设备的缓存本身也差异巨大,过去绝大部分计算机并没有设置处 理器缓存之外的磁盘缓存,少数服务器应用有缓存技术,一些台式计算机应用有基于固态硬盘缓存技术(如混合硬盘),这些设备之间,无缓存的,有缓存的,有完全不同缓存设备的,设备之间差别巨大。因此面向设备的缓存技术没有交互的可能。
总之,过去的磁盘缓存或计算机缓存预取是以设备为对象的、局域的,导致难移植,不通用,边际效用低,边际成本高,实际应用满意率低,优化缓慢耗时间等问题。
可是,如果要改变这种模式,就需要对现有各类设备、软硬件进行重新设计与工作模式改写。
但这一重新设计是值得的。虽然本发明仅仅是其初步探索,也获得了意外的效果。
并且,磁盘缓存的模式是会发生改变的。在发明人的另一项专利中(2014105350389),发明人提出了跨设备的计算加速系统,本质是性能输送,跨设备的缓存系统中服务端与被服务端之间是短距离但多通道的网络,可在短距离内输送性能,而服务端之间又可以依靠光纤等实现交互。这样,该跨设备的缓存系统就可以形成网络,获得大数据,并能应用云技术。
发明内容
本发明提出一种面向用户与应用的计算机加速方法和装置。
本发明方案改变之前缓存与预取技术的局域特性,挖掘缓存方案与经验的数据特性,变设备对象型的缓存操作为应用与用户对象型的缓存操作,变固定设备型操作为跨设备联网协同操作,变单一缓存预取设备为三级。
方法流程概括:(控制设备安装与识别)----设备建模----应用与用户类型数据与设备模型一起向云端传输----云计算初次优化尝试----反馈采集向云端传输----云端二次矫正反馈并记录数据----多次反复直到完善反馈并记录历史。
传统缓存预取往往在一个设备内完成,而本发明提供的缓存预取技术在架构上采取了三级结构:大量终端的缓存预取控制装置,作为一级控制装置,贡献出大数据,以及数量不多但分析尤其是模糊运算能力强的云端服务器,作为二级控制装置,进行云计算,再加上控制装置携带的USB接口的外接固态硬件,总共通过三级完成。在服务范围方面,这三级结构也不再是局域的,他们彼此之间通过网络连接来完成协同工作。
该方法需要多个或大量缓存预取终端控制装置以及具备模糊分析能力的云端服务器。这些终端控制装置对被加速计算设备进行先期处理,包括载入加速硬件、检测网络设备以及分割内存与存储设备,然后控制装置对设备各硬件部分进行不同类型读写的测试(如4K读写、顺序读写等),将设备进行建模成不同性能参数数据装置的组合,装置并且将各类缓存 设备也进行分类,以便应用优化方案。比如,标记分别出并行设备与串行设备,对于并行I/O,采用细粒度的同步锁机制增加I/O过程的并行性,从而改善I/O性能,又如,标记区分I/O的类型,判断缓存设备最擅长的随机读操作I/O类型,通过在I/O过程中判别其特征,择优分配缓存设备进行缓存。
随后控制装置初步分析被服务设备上的各种应用程序信息以及网络操作的用户特征数据,然后与硬件建模结果一起对云端提交,云端在收到数据后进行统计与模糊分析,依据先有经验数据档案对不同建模硬件给出针对不同应用不同用户类型(用户群)的优化加速方案,返回缓存服务装置进行第一次处理。
初步应用云端返回的第一次配置指导方案后,经过一段时间自我学习与优化后,控制装置再统计各应用读操作写操作比例、I/O请求类型、常用文件数目与大小、使用频率、用户类型特征等,在一段时间后结合自测与用户反馈收集再次反馈云端。以密文上传这些在各自系统中优化后的缓存模式配置数据到处理服务器(云端)。
云端记录数据与反馈情况并给出校正或第二优选方案。如此反复数次,达到基本完善并将最终结果与优化历史保存云端。
云端在收到优化最终数据后进行统计与分析,以应用程序、游戏与网址等应用层面的对象为统计对象,分析总结出针对不同应用的缓存配置或预取的优化方案(或不同应用在不同设备、用户等具体情形下的缓存配置或预取的优化方案),以便之后再以主动反馈或被动应答等方式将优化后的缓存方案与预取方案返回到缓存服务装置进行相应处理如优化、预判等。见附图1所示。
当然,缓存服务装置与云端之间的上传下载的数据全部以密文的形式传递。
进一步地,缓存服务装置上传的数据还可包括各自设备的缓存硬件特征,也会用于应用云端反馈回的方案。这样在云端分析给出的缓存优化方案并不是一个应用一份的,而是具体的、分类的,如在何种缓存结构上,对该应用采取何种缓存或预取方案。这种依据各类缓存设备进行不同处理有利于应用优化方案。
进一步地,缓存服务装置上传的数据还可包括用户群体特征数据,如年龄范围、职业范围、兴趣范围等,相应地,云端反馈的优化缓存方案也包括针对不同用户类型(用户群)对于不同应用对象的使用特征的优化或预判方案。比如,特定行业、年龄段的用户使用设备都有各自的明显人群特征,如老年人就不会使用大量读随机缓存的3D游戏,而更倾向于使用更多写缓存的浏览器。知道了这些特征,并应用这些特征,都能够更好地发挥预取与缓存的作用。当然,这些信息都是用户群信息,装置既不需要也绝不会获取任何用户本身的个人 信息。这些用户群信息也经过加密。
控制装置还可以选择开启服务节点模式(用户有选择权)。如果用户允许开启服务节点模式,则该控制装置还将按照云端服务器的指令,为其他周边用户提供cdn缓存、近距网络缓存、VPN服务、smtp服务等服务。同时,用户也将获得一定的收益回报。
依据该方法设置了多个样例装置,见具体实施案例部分。
有益效果与发明的创造性
本发明能够改变计算设备的缓存优化和预取优化机制,能够提升缓存设备对于第一次使用的应用、新安装的应用、新访问的网站以及使用频率低的应用的缓存加速能力。对于经常使用的应用,也能够通过针对设备硬件特征和用户类型特征等进一步提升缓存与预取的效果。
其效果是广泛的,对于用户层面而言,即使设备才刚刚安装,用户关心的网站与相关网站就能够快速访问,哪怕该用户可能仅仅是第一次或第二次访问这个网站(这种比例占很大,一般网民的60%网络访问都是访问不到三次的网站),而这在过去是根本不可能的。装置依靠用户群的大数据还能挖掘出更多的网站关联性与加速技术。
类似,即使设备才刚刚安装,用户常用的应用与喜欢用的应用就可能够流畅运行。且以上两点都是用户数量越多,分布越广,用户体验就会更好,具备网络效应和雪球效应。
对于应用层面而言,效果场景举例如下。
举例一:大量被服务设备上某游戏程序的某文件夹都呈现出频繁读取特征,则当设备新装该程序,可直接进行预判性质的工作如缓存那个在其他设备上被频繁读写文件夹到高速设备,而无需重新积累缓存数据。
举例二:大量被服务设备上某程序都呈现出频繁写入工作,如某购物浏览器,则当启动该浏览器时,可预判性质地为其分配较大的写缓存,而无需重新积累缓存数据。
事实上,许多程序由于用户的使用频率并不高,无法在单个设备上学习到最优的缓存,但是跨设备数据的获取,就能够进行大量数据样本的统计与判断,使得许多很少使用的程序甚至第一次使用的程序都能够被准确地预先优化。
对于设备层面而言,装置是通用的、可移植的,也是互联的,并可依靠升级云端完成不断的后续功能升级。
本发明的创造性:
本发明创造了一种新的缓存预取的工作方式与装置制造方式。
第一,过去的磁盘缓存或计算机缓存预取是以设备为对象的、局域的,导致难移植,不通用,边际效用低,边际成本高,实际应用满意率低,优化缓慢耗时间等问题。而本发明 提供的新的缓存预取是以应用和用户类型(用户群)为对象的、基于网络的,具有通用性和移植性的,带有网络规模效应的,边际效用高,应用满意率高,并且可快速完成优化配置。
第二,与过去的缓存预取技术不同,本发明提供的缓存预取技术在方法流程上采用了设备建模----应用与用户类型数据与设备模型一起向云端传输----云计算初次优化尝试----反馈采集向云端传输----云端二次矫正反馈并记录数据----多次反复直到完善反馈并记录历史。本发明中的工作流程中存在迭代,并在工作的过程中从无到有地构建出一种反映应用特征与用户类型特征与硬件模型关系的大数据,以及一种新的模糊分析与迭代指导的云计算模式。
第三,传统缓存预取往往在一个设备内完成,而本发明提供的缓存预取技术在架构上采取了三级结构:大量终端的缓存预取控制装置,作为一级控制装置,贡献出大数据,以及数量不多但分析尤其是模糊运算能力强的云端服务器,作为二级控制装置,进行云计算,再加上控制装置携带的USB接口的外接固态硬件,总共通过三级完成。
在服务范围方面,这三级结构也不再是局域的,他们彼此之间通过网络连接来完成协同工作。
第四,过去的缓存预取技术全部忽视了用户类型这一本质性的差异。对于同样的设备,不同用户的需求存在着非常大的差异。技术服务的最终对象应当是人,而不是设备。一个老年人使用同一个浏览器可能主要用途是看视频和看新闻,而一个年轻人主要用途可能是玩网页游戏,这种差异反映在应用的缓存方案上应当是截然不同的。当然,这也不全部是忽视或者说偏见,过去的技术方案对此本来就没有办法,设备在出售前无法预知其买主,程序在被下载前无法预知其用户。而采用本发明就可以挖掘出用户类型、创建相关大数据并应用到缓存预取技术中。
具体实施案例
基于本发明的方法,设计实施了一种装置。应用本发明的方法的装置既可以是硬件,也可以是软件,也可以是软硬件的结合。本处展示的样例装置有两个,其中第一个是一种软硬件结合设备,第二个样例略去外接缓存设备与高速网络部件成为一种软件。
第一个样例带有一个控制装置,以及一个带USB3.0连接线的外接固态加速硬件。该固态加速硬件具备620MB每秒的顺序读,550MB每秒的顺序写,120MB每秒的4K读,160MB每秒的4K写,以上速度是在出厂时通过Thunderbolt测数据参数,在USB3下大致可以达到该性能,装置的工作流程(见附图2所示):
第一步,缓存载入与虚拟化工作。
1.载入固态加速硬件2.调取被服务端设备部分的内存,将其虚拟成磁盘作为一级缓 存,并在关机时保存其内容到文件数据包,开机时载入该数据包到虚拟的内存磁盘,调取大小先为初步设定最小值,在随后与云端反馈过程后逐步修改;3.检测是否存在其他可用磁盘缓存,比如对低速磁盘的移动设备检测是否有wigig外接的高速闪存,如能检测到可用缓存,就创建为二级缓存(或由用户同意是否创建),以便根据读写操作等进行缓存与预取。
第二步,测量工作。
完成准备操作后,控制装置对设备硬件与创建的各种缓存部件进行不同类型读写的测试,如4K读写、512K随机读写、顺序读写等,判断待加速设备各个部分的缓存性能特征,对外接加速硬件也参与测试,因为设备的USB接口会带来很大的影响。
第三步,建模工作。
依据测量数据,并通过系统函数如Windows函数读取硬件其他信息如大小、接口等,然后将设备进行建模成各个不同性能参数的数据装置的组合,并给出各个部分的每项读写性能评分以及综合评分,并进行归类,比如该部分属于随机读取缓存设备还是4K写缓存设备。该归类信息既会与本机的缓存优化数据一起加密上传云端,也会用于应用云端反馈回的方案。因为,在云端分析给出的缓存优化方案并不是一个应用一份的,而是具体的、分类的,如在何种缓存结构上,应用何种方案。这种依据各类缓存设备进行不同处理有利于应用优化方案。比如,标记分别出并行设备与串行设备,又如,标记区分I/O的类型,判断缓存设备最擅长的随机读操作I/O类型,通过在I/O过程中判别其特征,择优分配缓存设备进行缓存。
第四步,扫描应用状态,并大致确定用户类型(用户群)。
这一步其实有许多实现方式。样例中我们的控制装置是这样做的:扫描程序安装目录获得应用种类,扫描Prefetch目录和日志获得应用使用频率,扫描系统TEMP文件夹获得常访问网站并根据网站推断用户类型特征,推断用户习惯。装置根据网站网址与缓存文件对用户群体特征进行大致判断,根据设备类型、年龄,以及设备上的应用分布,判断用户的职业、兴趣、年龄等。当然,这些信息都是用户群体性的特征信息,装置既不需要也绝不会获取任何用户本身的个人信息。而且这些用户群信息全都会以加密的形式传递到云端。
第五步,数据初步上传云端。
控制装置初步分析并对云端提交被服务设备上的各种应用程序信息以及网络操作的用户特征数据,以及硬件建模结果。
上传数据中不会有任何用户隐私信息,都是抽象的模型信息与用户群,比如一个典型的大致会包含以下类型信息,以下信息仅为举例:最常用的应用程序(魔兽争霸,淘宝浏览器,Word),用户特征(20-30岁,男,喜爱购物与浏览汽车相关网站,以及页游如4399), 计算机建模特征(测试特征:32位系统,4GB物理DDR2内存,系统识别3.2GB,通过USB3.0普通接口连接加速硬件部分,共64GB,并采用了USB协议优化加速,创建内存虚拟磁盘512MB,单硬盘,希捷混合硬盘为1TB,其中内存虚拟磁盘测分为顺序读2200MB每秒,顺序写1020MB每秒,4K读500MB每秒,4K写300MB每秒,外接加速硬件顺序读480MB每秒,顺序写480MB每秒,4K读100MB每秒,4K写160MB每秒,混合硬盘的顺序读150MB每秒,顺序写120MB每秒,4K读1MB每秒,4K写0.5MB每秒等其他参数,建模特征:设置为一个4K的缓存区A,一个内存虚拟的写缓存区B,一个顺序读缓存区C,一个混合区D----实际的建模当然会比这个复杂一些,此处为说明用)等等,这些信息以加密格式上传给云端服务器。
第六步,云端初步模糊分析。
首先,这个跟互联网一样,如果这是刚刚建网的初期,云端没有已有数据,那么最初的几份档案与数据是需要人工工程师输入的,包括大量的在各类设备环境下针对各类用户群的不同应用的缓存预取方案。这里的方案不完善是没关系的,因为会在后面的过程中被不断迭代、完善。
接下来我们这里重点介绍的当然是网络已经初步建立之后的流程。
在收到应用数据、用户群特征、以及硬件建模结果等上传数据后,云端在收到数据后进行统计与模糊分析,依据先有经验数据档案对不同建模硬件给出针对不同应用不同用户群的优化加速方案,返回缓存服务装置进行第一次处理。
比如上面的例子的处理方式可能就是:据服务器数据库资料,由于大量被服务设备上魔兽争霸的某文件夹都呈现出频繁读取特征,故云端返回方案要求缓存那个被频繁读写文件夹到C;据服务器数据库资料,大量被服务设备上淘宝浏览器都呈现出频繁写入工作,故为其分配较大的写缓存到B;大量被服务设备上Word都涉及大量4K读写,分配A区;由于用户喜爱购物与浏览汽车相关网站,以及页游如4399,故云端返回方案要求缓存预取相关网站的主要页面,并以cdn技术布置一些缓存重定向到附近节点;并针对上传的数据和模型给与一些其他的系统与应用的缓存预取配置方案等。
分析完毕后服务器将上述方案返回控制装置。
第七步,深度数据与测试效果反馈。
在一段时间后控制装置再进行自测与用户反馈收集,并上传一段时间内获得的深度数据,应尽可能包括各应用读操作写操作比例、I/O请求类型、常用文件数目与大小、使用频率,反馈云端,云端根据反馈情况给出校正或第二优选方案。
第八步,反复迭代方案。
如此反复数次后,达到基本完善。
第九步,服务器数据库更新,并将最终结果与优化历史保存云端。
云端服务器收到以密文上传这些在各自系统中的最终优化缓存模式配置数据,处理服务器对多个装置的缓存过的各种应用程序、游戏、网络操作与相关文件的统计数据,以应用、用户与设备模型为分类单位,记录到数据库,如:建筑行业用户、Dell Latitude 600计算机上最佳的AutoCAD缓存与预取方案。(同一个应用程序在不同类型用户、不同设备上的最佳缓存预取方案显然是不同的。)以便之后协调新的装置。
第十步,再服务节点(用户可选模式)。
控制装置还可以选择开启服务节点模式(用户有选择权)。如果用户允许开启服务节点模式,则该控制装置还将按照云端服务器的指令,为其他周边用户提供cdn缓存、近距网络缓存、VPN服务、smtp服务等服务。同时,用户也将获得一定的收益回报。
该样例一装置的设计还包括了:1.对系统内存提供智能压缩与后台自动释放;2.装置将应用程序进行虚拟化处理,从而预存更多甚至所有程序文件与程序所需系统环境文件在缓存中(虚拟化原理可以是重定向和环境虚拟化技术等,被虚拟化的应用程序自我包含,可以在)。
第二个样例装置的工作流程:
第一步,缓存创建与虚拟化工作。
1.调取被服务端设备部分的内存,将其虚拟成磁盘作为一级缓存,并在关机时保存其内容到文件数据包,开机时载入该数据包到虚拟的内存磁盘,调取大小先为初步设定最小值,在随后与云端反馈过程后逐步修改;2.检测是否存在可用磁盘缓存,比如对低速磁盘的移动设备检测是否有wigig外接的高速闪存,如能检测到可用缓存,就创建为二级缓存(或由用户同意是否创建),以便根据读写操作等进行缓存与预取。
第二步,测量工作。
完成准备操作后,控制装置对设备硬件与创建的各种缓存部件进行不同类型读写的测试,如4K读写、512K随机读写、顺序读写等,判断待加速设备各个部分的缓存性能特征,当存在外部硬件设备如外接固态硬盘等情形时这些外接设备也参与测试。
第三步,建模工作。
依据测量数据,并通过系统函数如Windows函数读取硬件其他信息如大小、接口等,然后将设备进行建模成各个不同性能参数的数据装置的组合,并给出各个部分的每项读写性 能评分以及综合评分,并进行归类,比如该部分属于随机读取缓存设备还是4K写缓存设备。该归类信息既会与本机的缓存优化数据一起加密上传云端,也会用于应用云端反馈回的方案。因为,在云端分析给出的缓存优化方案并不是一个应用一份的,而是具体的、分类的,如在何种缓存结构上,应用何种方案。这种依据各类缓存设备进行不同处理有利于应用优化方案。比如,标记分别出并行设备与串行设备,又如,标记区分I/O的类型,判断缓存设备最擅长的随机读操作I/O类型,通过在I/O过程中判别其特征,择优分配缓存设备进行缓存。
第四步,扫描应用状态,并大致确定用户类型(用户群)。
这一步其实有许多实现方式。样例二中我们的控制装置是这样做的:扫描程序安装目录获得应用种类,扫描Prefetch目录和日志获得应用使用频率,扫描系统TEMP文件夹获得常访问网站并根据网站推断用户群特征,推断用户习惯。装置根据网站网址与缓存文件对用户群体特征进行大致判断,根据设备类型、年龄,以及设备上的应用分布,判断用户的职业、兴趣、年龄等。当然,这些信息都是用户群体性的特征信息,装置既不需要也绝不会获取任何用户本身的个人信息。而且这些用户群信息全都会以加密的形式传递到云端。
第五步,数据初步上传云端。
控制装置初步分析并对云端提交被服务设备上的各种应用程序信息以及网络操作的用户特征数据,以及硬件建模结果。
上传数据中不会有任何用户隐私信息,都是抽象的模型信息与用户群,比如一个典型的大致会包含以下类型信息,以下信息仅为举例:最常用的应用程序(魔兽争霸,淘宝浏览器,Word),用户特征(20-30岁,男,喜爱购物与浏览汽车相关网站,以及页游如4399),计算机建模特征(测试特征:32位系统,4GB物理DDR2内存,系统识别3.2GB,创建内存虚拟磁盘512MB,双硬盘,其中SSD为32GB,HDD为1TB,其中内存虚拟磁盘测分为顺序读2200MB每秒,顺序写1020MB每秒,4K读500MB每秒,4K写300MB每秒,SSD顺序读300MB每秒,顺序写120MB每秒,512K读280MB每秒,512K写110MB每秒,4K读10MB每秒,4K写16MB每秒,HDD的顺序读80MB每秒,顺序写60MB每秒,4K读0.1MB每秒,4K写0.05MB每秒等其他参数,建模特征:设置为一个4K的缓存区A,一个内存虚拟的写缓存区B,一个顺序读缓存区C,一个混合区D----实际的建模当然会比这个复杂一些,此处为说明用)等等,这些信息以加密格式上传给云端服务器。
第六步,云端初步模糊分析。
首先,这个跟互联网一样,如果这是刚刚建网的初期,云端没有已有数据,那么最初的几份档案与数据是需要人工工程师输入的,包括大量的在各类设备环境下针对各类用户 群的不同应用的缓存预取方案。这里的方案不完善是没关系的,因为会在后面的过程中被不断迭代、完善。
接下来我们这里重点介绍的当然是网络已经初步建立之后的流程。
在收到应用数据、用户群特征、以及硬件建模结果等上传数据后,云端在收到数据后进行统计与模糊分析,依据先有经验数据档案对不同建模硬件给出针对不同应用不同用户群的优化加速方案,返回缓存服务装置进行第一次处理。
比如上面的例子的处理方式可能就是:据服务器数据库资料,由于大量被服务设备上魔兽争霸的某文件夹都呈现出频繁读取特征,故云端返回方案要求缓存那个被频繁读写文件夹到C;据服务器数据库资料,大量被服务设备上淘宝浏览器都呈现出频繁写入工作,故为其分配较大的写缓存到B;大量被服务设备上Word都涉及大量4K读写,分配A区;由于用户喜爱购物与浏览汽车相关网站,以及页游如4399,故云端返回方案要求缓存预取相关网站的主要页面,并以cdn技术布置一些缓存重定向到附近节点;并针对上传的数据和模型给与一些其他的系统与应用的缓存预取配置方案等。
分析完毕后服务器将上述方案返回控制装置。
第七步,深度数据与测试效果反馈。
在一段时间后控制装置再进行自测与用户反馈收集,并上传一段时间内获得的深度数据,应尽可能包括各应用读操作写操作比例、I/O请求类型、常用文件数目与大小、使用频率,反馈云端,云端根据反馈情况给出校正或第二优选方案。
第八步,反复迭代方案。
如此反复数次后,达到基本完善。
第九步,服务器数据库更新,并将最终结果与优化历史保存云端。
云端服务器收到以密文上传这些在各自系统中的最终优化缓存模式配置数据,处理服务器对多个装置的缓存过的各种应用程序、游戏、网络操作与相关文件的统计数据,以应用、用户与设备模型为分类单位,记录到数据库,如:建筑行业用户、Dell Latitude 600计算机上最佳的AutoCAD缓存与预取方案。(因为同一个应用程序在不同类型用户、不同设备上的最佳缓存预取方案显然是不同的。)以便之后协调新的装置。
该样例二装置的设计也包括了:1.对系统内存提供智能压缩与后台自动释放;2.装置将应用程序进行虚拟化处理,从而预存更多甚至所有程序文件与程序所需系统环境文件在缓存中。
除了缓存载入有差别外,其他也可参见附图2所示。
以上所述乃是本发明的具体实施例及所运用的技术手段,根据本文的揭露或教导可衍生推导出许多的变更与修正,若依本发明的构想所作的等效改变,其所产生的作用仍未超出说明书及附图所涵盖的实质精神时,均应视为在本发明的技术范畴之内,合先陈明。
附图说明
图1.设备基本原理图。
图2.样例装置示意图。

Claims (10)

  1. 一种基于大数据和云技术的、以用户与应用为对象的计算机及智能设备加速方法,该方法在多台或大量待加速设备上布置控制装置,由这些控制装置对这些待加速设备主要硬件部分进行识别或性能测试,并调取被服务端设备部分的部分内存将其虚拟成磁盘作为缓存,并通过诸如扫描待加速设备上相关程序目录缓存目录等方式获取待加速设备上的应用程序情况数据、及网络操作等用户类型特征数据(用户类型特征数据可视情况决定是否获取),与识别的硬件特征数据一起提交云端远程服务器,云端在接收上述数据后,结合云端原先已有的数据库进行计算分析,并通过诸如检索相似硬件、相似用户下相应应用程序的最佳缓存方案和预取配置等方式,对每个不同的待加速设备给出针对其具体硬件、具体应用、甚至具体用户类型(此项为可选)的优化缓存或预取加速方案,以主动反馈或被动应答等方式反馈给各服务控制装置,由控制装置依据反馈信息进行相应的缓存加速、缓存优化或预取处理等。
  2. 一种权利要求1所描述的方法,其特征在于,在控制状态收到反馈方案后不是直接完成应用而是开启迭代的进程,即,按照服务器初步指示配置缓存预取服务的同时,控制装置开始统计跟踪状态信息如各应用读写操作比例、I/O请求类型、最常读写文件大小、操作频率、文件关联经验关系、响应时间等,在一段时间后结合效果反馈或用户满意度再次反馈云端,云端在收到数据与反馈后再度进行分析给出校正或第二优选方案,如此反复迭代直到基本完善,再将最终方案保存云端,云端以应用、硬件类型、缓存设备类型、用户特征等作为索引,将最终优化的方案添加到数据库,并可选择性地记录部分优化过程信息或全部优化历史到数据库,即,在方法流程上采用了该步骤:(控制设备安装)----设备硬件各部分识别与建模----虚拟化与缓存创建----应用数据与用户类型数据获取----应用数据、用户类型数据、设备模型数据向云端传输----云计算初次优化尝试----反馈采集向云端传输----云端二次矫正反馈----多次反复直到接近完善反馈并记录----云端形成大数据并不断优化、积累。
  3. 一种权利要求2所描述的方法,其特征在于,初始分配的内存虚拟化缓存按照最小大小分配,并在之后的优化过程中按服务器指令调整大小。
  4. 一种权利要求1所描述的方法,其特征在于,该方法还采用缓存分流,控制装置本身结合带有USB接口或Wigig连接的外接固态硬件,安装到装置时一并载入,在控制装置工作时提供额外的缓存预取用硬件,如4K读写缓存到虚拟化出的内存磁盘,512K以及随机读写缓存到外接固态硬件,实现缓存分流,而其对于不同应用采取不同的分流方案,这些分流方案云端服务器经过对上传的数据分析确定,即,在架构上采取了协同工作的三级结构:由大量终端的缓存预取控制装置作为一级加速装置,负责终端服务(虚拟化改造、缓存、预取等)以及贡献大数据,由云端服务器作为二级加速装置,负责优化方案计算与数据库索引迭 代,由控制装置携带的USB接口或Wigig接口的外接固态硬件作为三级加速装置,负责为控制装置提供缓存分流。
  5. 一种依照权利要求1所述方法,其特征在于,控制装置本身担任新的服务节点,使加速装置网的服务能力随被加速设备的增多而增多,如,这些控制装置按照云端服务器的指令,为其他周边用户提供如cdn缓存、近距网络缓存、VPN服务、SMTP服务等网络或加速服务。
  6. 一种权利要求5所描述的方法,其特征在于,该装置本身也带有USB或Wigig连接的外接固态硬件,在装置工作时提供额外的缓存预取用硬件作为缓存分流,同时在开启服务节点模式时外接硬件提供所需的存储、网络组件等支持,即,在架构上采取了协同工作、并自我扩展的三级结构:由大量终端的缓存预取控制装置作为一级加速装置,负责终端服务(虚拟化改造、缓存、预取等)以及贡献大数据,由云端服务器作为二级加速装置,负责优化方案计算与数据库索引迭代,由控制装置携带的USB接口或Wigig接口的外接固态硬件作为三级加速装置,负责为控制装置提供缓存分流与硬件支持,并在节点模式下扩展被加速设备为新的服务节点。
  7. 一种权利要求1所描述的方法,其特征在于,控制装置与云端之间的上传下载的数据全部以加密的形式传递。
  8. 一种权利要求1所描述的方法,其特征在于,控制装置上传的数据还包括反映设备用户所属人群的特征数据,如用户年龄范围、职业范围、兴趣范围等,相应地,云端反馈的优化方案也包括针对不同用户类型对于不同应用对象的使用特征进行优化或预判的方案。
  9. 一种权利要求1所描述的方法,其特征在于,控制装置上传的数据还包括具体的缓存设备硬件类型或特征信息,相应的,在云端分析给出的优化方案并不是一个应用对应一份的,而是具体的、分类的,如在何种缓存结构上,对应某个应用应采用何种方案。
  10. 一种权利要求1所描述的方法,其特征在于,控制装置通过扫描系统注册表获得应用种类,扫描程序安装目录获得应用的文件数量、大小、读写特征,扫描系统本身的预取Prefetch目录、系统缓存和系统日志获得应用使用频率,扫描系统TEMP文件夹、收藏夹和浏览器缓存文件夹获得常访问网站并根据网站、网址、缓存文件推断用户所属用户类型特征,推断用户习惯,以及根据设备类型、年龄,以及设备上的应用分布,判断用户的职业、兴趣、年龄等(这些信息都为用户群体性的特征信息,装置既不需要也绝不获取任何用户本身的个人信息,且这些用户群体特征信息也全都会以加密的形式传递)。
PCT/CN2015/098536 2015-01-19 2015-12-24 一种面向用户与应用的计算机与智能设备加速方法和装置 WO2016115957A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2015100227823 2015-01-19
CN201510022782.3A CN105867832B (zh) 2015-01-19 2015-01-19 一种面向用户与应用的计算机与智能设备加速方法和装置

Publications (1)

Publication Number Publication Date
WO2016115957A1 true WO2016115957A1 (zh) 2016-07-28

Family

ID=56416402

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/098536 WO2016115957A1 (zh) 2015-01-19 2015-12-24 一种面向用户与应用的计算机与智能设备加速方法和装置

Country Status (2)

Country Link
CN (1) CN105867832B (zh)
WO (1) WO2016115957A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767489A (zh) * 2020-06-29 2020-10-13 百度在线网络技术(北京)有限公司 网页运行的加速方法、装置、设备以及存储介质
CN112769711A (zh) * 2019-11-01 2021-05-07 杭州施强教育科技有限公司 一种数据处理方法和系统
CN114040346A (zh) * 2021-09-22 2022-02-11 福建省新天地信勘测有限公司 一种基于5g网络的档案数字化信息管理系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547482B (zh) * 2016-10-17 2023-12-26 上海传英信息技术有限公司 一种利用缓冲节省内存的方法及装置
CN107832017B (zh) * 2017-11-14 2021-02-12 中国石油天然气集团有限公司 一种提高地震数据存储io性能的方法及装置
CN112237743B (zh) * 2019-07-17 2024-03-08 腾讯科技(上海)有限公司 用户数据统计方法、装置、计算机设备及存储介质
CN112615794B (zh) * 2020-12-08 2022-07-29 四川迅游网络科技股份有限公司 一种面向业务流量特征的智能加速系统和方法
CN113572822A (zh) * 2021-07-05 2021-10-29 Oppo广东移动通信有限公司 一种云终端模拟控制方法、装置、存储介质及电子设备
CN114584564B (zh) * 2022-03-23 2023-08-18 北京邮电大学深圳研究院 一种隐私资源保护的移动终端侧数据寻址与分析方法
CN116436787B (zh) * 2023-06-13 2023-08-15 苏州浪潮智能科技有限公司 网络接口管理方法、使用方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045385A (zh) * 2010-10-21 2011-05-04 李斌 一种实现个人云计算系统及设备
CN102368737A (zh) * 2011-11-25 2012-03-07 裘嘉 一种云存储系统及其数据访问方法
CN103500076A (zh) * 2013-10-13 2014-01-08 张维加 一种基于多通道slc nand与dram缓存的新usb协议计算机加速设备
US20140240333A1 (en) * 2013-02-28 2014-08-28 Kabushiki Kaisha Toshiba Data processing device, display control device, semiconductor chip, method of controlling display device, and computer-readable medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253701A (zh) * 2013-06-28 2014-12-31 北京艾普优计算机系统有限公司 计算机网络的运行方法和网关装置以及服务器装置
CN104135520B (zh) * 2014-07-29 2018-01-23 广州金山网络科技有限公司 一种识别安卓终端的方法以及装置
CN104134033B (zh) * 2014-07-29 2017-11-07 广州金山网络科技有限公司 一种识别用户设备的方法以及装置
CN104320448B (zh) * 2014-10-17 2019-11-01 张维加 一种基于大数据的计算设备的缓存与预取加速方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045385A (zh) * 2010-10-21 2011-05-04 李斌 一种实现个人云计算系统及设备
CN102368737A (zh) * 2011-11-25 2012-03-07 裘嘉 一种云存储系统及其数据访问方法
US20140240333A1 (en) * 2013-02-28 2014-08-28 Kabushiki Kaisha Toshiba Data processing device, display control device, semiconductor chip, method of controlling display device, and computer-readable medium
CN103500076A (zh) * 2013-10-13 2014-01-08 张维加 一种基于多通道slc nand与dram缓存的新usb协议计算机加速设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769711A (zh) * 2019-11-01 2021-05-07 杭州施强教育科技有限公司 一种数据处理方法和系统
CN111767489A (zh) * 2020-06-29 2020-10-13 百度在线网络技术(北京)有限公司 网页运行的加速方法、装置、设备以及存储介质
CN111767489B (zh) * 2020-06-29 2024-04-19 百度在线网络技术(北京)有限公司 网页运行的加速方法、装置、设备以及存储介质
CN114040346A (zh) * 2021-09-22 2022-02-11 福建省新天地信勘测有限公司 一种基于5g网络的档案数字化信息管理系统
CN114040346B (zh) * 2021-09-22 2024-02-06 福建省新天地信勘测有限公司 一种基于5g网络的档案数字化信息管理系统与管理方法

Also Published As

Publication number Publication date
CN105867832B (zh) 2020-07-24
CN105867832A (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
WO2016115957A1 (zh) 一种面向用户与应用的计算机与智能设备加速方法和装置
US11960726B2 (en) Method and apparatus for SSD storage access
CA3027756C (en) Systems and methods for efficient distribution of stored data objects
CN104320448B (zh) 一种基于大数据的计算设备的缓存与预取加速方法和装置
CN105683928B (zh) 用于数据高速缓存策略的方法、服务器和存储器设备
US11163684B1 (en) Systems and methods that predictively read ahead different amounts of data for different content stored in a multi-client storage system
US9197716B2 (en) Pre-fetching resources by predicting user actions
CN113835616A (zh) 应用的数据管理方法、系统和计算机设备
Hou et al. GDS-LC: A latency-and cost-aware client caching scheme for cloud storage
Cao et al. Is-hbase: An in-storage computing optimized hbase with i/o offloading and self-adaptive caching in compute-storage disaggregated infrastructure
US20090327303A1 (en) Intelligent allocation of file server resources
CN109947667A (zh) 数据访问预测方法和装置
Chang et al. Profit data caching and hybrid disk‐aware Completely Fair Queuing scheduling algorithms for hybrid disks
Wong et al. Baleen:{ML} Admission & Prefetching for Flash Caches
CN110334073A (zh) 一种元数据预取方法、装置、终端、服务器及存储介质
KR101345782B1 (ko) 캐쉬 서버, 이를 포함하는 콘텐츠 전송 서비스 장치, 및 캐쉬 서버의 동작 방법
CN115268763A (zh) 一种缓存管理方法、装置及设备
Lim et al. Applications IO profiling and analysis for smart devices
Song et al. MHDFS: A Memory‐Based Hadoop Framework for Large Data Storage
JP6200100B2 (ja) 計算機システム
CN112231245B (zh) 用于高速缓存的最佳接纳控制
JP5084895B2 (ja) テキストデータ読出装置、方法及びプログラム
US11681525B2 (en) Moving files between storage devices based on analysis of file operations
Li et al. Algorithm-Switching-Based Last-Level Cache Structure with Hybrid Main Memory Architecture
Su et al. SACache: Size-Aware Load Balancing for Large-Scale Storage Systems

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: 15878625

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: 15878625

Country of ref document: EP

Kind code of ref document: A1