CN111158807A - 一种基于云虚拟机的数据访问方法及设备 - Google Patents
一种基于云虚拟机的数据访问方法及设备 Download PDFInfo
- Publication number
- CN111158807A CN111158807A CN201911205728.7A CN201911205728A CN111158807A CN 111158807 A CN111158807 A CN 111158807A CN 201911205728 A CN201911205728 A CN 201911205728A CN 111158807 A CN111158807 A CN 111158807A
- Authority
- CN
- China
- Prior art keywords
- file
- user
- virtual machine
- cloud virtual
- data set
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种基于云虚拟机的数据访问方法及设备。该方法包括:云虚拟机接收到用户的登录请求,并响应该用户的登录请求预测用户登录到云虚拟机后可能访问的至少一个文件,并从远端存储设备中下载预测到的至少一个文件至云虚拟机,当用户登录云虚拟机后可以直接访问这些文件,避免用户在云虚拟机访问该文件时,云虚拟机再从远端存储设备下载,从而缩短了用户访问这些文件的时延,提高了用户体验,具有较强的应用性。
Description
技术领域
本申请涉及云桌面技术领域,尤其涉及一种基于云虚拟机的数据访问方法及设备。
背景技术
云桌面服务***可以采用虚拟化技术在每台云服务器上虚拟出一台或多台云虚拟机,用户在通过用户终端登录云虚拟机后,可以在用户终端上显示登录成功的云虚拟机对应的云桌面。用户通过操作显示的云桌面,就可以实现通过登录成功的云虚拟机实现一些操作功能。
云桌面服务***一般通过克隆方式在云服务器上虚拟出多台云虚拟机,目前,较为常见的云虚拟机的克隆方式为链接克隆,通过链接克隆创建的云虚拟机的***盘(即C盘)均包含***母盘和差分盘。***母盘内存储有通过链接克隆在该云服务器下创建的所有云虚拟机共同访问的数据,该数据不会随着关闭云虚拟机而被清除,也就是通过链接克隆创建出的各个云虚拟机共用一个***母盘。各云虚拟机还有自身单独使用的差分盘,差分盘用于存储用户登录云虚拟机后产生的文件,该文件对其他云虚拟机不可见,当用户关闭登录的该云虚拟机后,该云虚拟机的差分盘内的数据随即被清除。
为了保存用户在关闭登录的云虚拟机后该云虚拟机的差分盘内的文件,现有会将用户登录云虚拟机后在差分盘内的文件上传至远端存储设备,例如网络附属存储(networkattached storage,NAS)设备中。当用户通过用户终端再次登录对应云虚拟机时,可能需要访问之前登陆所述云虚拟机时生成的文件,所以云虚拟机会从NAS盘中获取该用户在该云虚拟机中生成的文件。如果文件对应的数据量比较大,则本次登录云虚拟机后从NAS盘下载文件的时间就比较长,从而导致用户在访问这些文件时,时延较大,影响用户体验。
发明内容
本申请提供一种基于云虚拟机的数据访问方法及设备,用以实现在使用云虚拟机时减少用户执行某些操作的时延,提高用户体验。
第一方面,本申请提供一种基于云虚拟机的数据访问方法,该方法包括:云虚拟机接收用户的登录请求,并响应该用户的登录请求预测所述用户登录到云虚拟机后可能访问的至少一个文件,并从远端存储设备中下载确定的所述至少一个文件至云虚拟机本地。
通过上述方法,云虚拟机在响应用户的登录请求时,一方面与该用户的用户终端建立连接,另一方面,确定该用户登录到云虚拟机后可能访问的至少一个文件,并从远端存储设备中下载该确定的至少一个文件,当用户登录到云虚拟机后,不需要再等待云虚拟机从远端存储设备下载该文件的时间,从而缩短了用户访问这些文件的时延,提高了用户体验。
在一种可能的实现方式中,云虚拟机在确定用户登录到云虚拟机后可能访问的至少一个文件时,可以通过自身进行预测得到该用户对应的至少一个文件。其中,通过云虚拟机进行预测时,需要获取该用户的历史数据记录,根据获取的该用户的历史数据记录,预测该用户登录到云虚拟机后可能访问的至少一个文件。
其中,所述历史数据记录记录了在云虚拟机接收到所述登陆请求之前,该用户在所述云虚拟机中所访问的文件的记录。
通过上述方法,云虚拟机可以通过自身进行预测,减少与其他设备之间的交互,节省资源。
在一种可能的实现方式中,云虚拟机或其他设备在预测用户登录云虚拟机后可能访问的至少一个文件时,可以通过下列方式进行预测:
获取所述历史数据记录中记录的每个文件的多个参数值,其中每个参数值预设一个权重值;根据预设算法对所述多个参数及所述多个参数的预设权重值计算每个文件在用户登录所述云虚拟机后可能被访问的概率值;根据所述概率值确定所述至少一个目标文件。
通过上述方法,根据预设算法计算历史数据记录中包含的每个文件可能被访问的概率值,从而确定用户可能访问的至少一个文件,该预测方式简单,不需要区分登录的用户,适用场景多,部署于云虚拟机上时,不会占用云虚拟机过多的资源,应用性强。
在一种可能的实现方式中,云虚拟机或其他设备在预测用户登录云虚拟机后可能访问的至少一个文件时,还可以通过下列方式进行预测:
从所述历史数据记录中获取第一数据集合,所述第一数据集合为用户连续N次登陆所述云虚拟机时,每次所访问的第一个文件的集合;将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件;将所述第一预测模型输出的第一个文件及所述历史数据中记录的用户连续M次登陆所述云虚拟机时,每次顺序访问的多个文件构成第二数据集合;将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件;将所述第二个文件加入所述第二数据集合以更新所述第二数据集合;返回所述将所述第二数据集合输入第二预测模型的步骤,直到预测出用户登陆所述云虚拟机后可能访问的M个文件。
通过上述方法,通过第一预测模型预测用户登录云虚拟机后可能访问的首个文件,并通过第二预测模型基于第一预测模型输出的文件(用户可能访问的首个文件)来预测用户可能顺序访问其他文件。第二预测模型是根据用户的历史数据记录中记录的用户连续登录云虚拟机时每次顺序访问的多个文件的训练样本进行训练的,也就是,第二预测模型能够根据用户连续访问文件的规律预测下一次可能访问的文件。其中,第二预测模型也可以用于预测用户登录云虚拟机后可能访问的首个文件,但第一预测模块为根据历史数据记录中,用户每次登录云虚拟机后访问的首个文件的训练样本进行训练的,因此,第一预测模型用于预测用户登录云虚拟机后可能访问的首个文件的准确性更高,另外,第一预测模型和第二预测模型可以处理的数据量较大,当用户的历史数据记录中记录的用户在云虚拟机上所访问的文件的记录较多时,使用第一预测模型和第二预测模型进行预测,预测效率较高。
在一种可能的实现方式中,所述第一预测模型确定所述第一数据集合中最后一个文件的至少一个关联文件,并确定所述最后一个文件与所述至少一个关联文件的关联度;其中,所述第一数据集合中的文件按照被访问的时间由远及近进行排列,所述关联文件为所述第一数据集合中记录的用户在访问完与所述最后一个文件之后访问的文件;所述第一预测模型输出与所述最后一个文件关联度最高的关联文件;所述关联度,为所述第一预测模型根据所述关联文件与所述最后一个文件的间隔,和/或在所述第一数据集合中用户在访问完与所述最后一个文件之后访问所述关联文件的频率确定的。
在一种可能的实现方式中,所述第二预测模型确定所述第二数据集合中最后一个文件的至少一个关联文件,并确定所述最后一个文件与所述至少一个关联文件的关联度;其中,所述第二数据集合中的文件按照访问时间由远及近的顺序排列,所述关联文件为所述第二数据集合中记录的用户在访问完与所述最后一个文件相同的文件之后访问的文件;所述第二预测模型输出与所述最后一个文件关联度最高的关联文件;其中,所述关联度,为所述第二预测模型根据所述关联文件与所述最后一个文件的间隔,和/或在所述第二数据集合中用户在访问完与所述最后一个文件相同的文件之后访问所述关联文件的频率确定的;所述第二预测模型将输出的所述关联文件添加至所述第二数据集的尾端,使输出的所述关联文件为更新后的第二数据集的最后一个文件。
在一种可能的实现方式中,云虚拟机还可以通过下列方式预测所述用户登录所述云虚拟机后待访问的至少一个目标文件:按照所述文件被访问的概率值从大到小的顺序,在所述用户的历史数据包含的多个文件标识中选择至少一个目标文件标识,将所述目标文件标识对应的文件作为所述用户登录所述云虚拟机后待访问的目标文件;当侦测到历史数据记录符合预设条件时,则:将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件;将所述第一预测模型输出的第一个文件及所述历史数据中记录的用户连续M次登陆所述云虚拟机时,每次顺序访问的多个文件构成第二数据集合;将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件;将所述第二个文件加入所述第二数据集合以更新所述第二数据集合;返回所述将所述第二数据集合输入第二预测模型的步骤,直到预测出用户登陆所述云虚拟机后可能访问的M个文件;根据第一预测模型输出的所述用户登录所述云虚拟机后可能访问的第一个文件及第二预测模型输出的所述用户登录所述云虚拟机后可能访问的M个文件确定所述用户登录所述云虚拟机后可能访问的目标文件。
通过上述方法,当侦测到历史数据记录不符合预设条件时,使用预设算法确定的概率值来确定目标文件,若侦测到历史数据记录符合预设条件时,则通过第一预测模型和第二预测模型预测目标文件,例如,预设条件为历史数据记录中包含的文件标识超过预设阈值,则使用第一预测模型和第二预测模型进行预测,若历史数据记录中包含的文件标识未超过预设阈值,则使用预设算法进行计算,避免耗费大量的计算资源,提高预测效率。
在一种可能的实现方式中,云虚拟机还可以生成一个预测请求,并将所述预测请求发送至一电子设备,所述预测请求用于指示所述电子设备对所述用户登录到云虚拟机后可能访问的至少一个文件进行预测;接收所述电子设备所预测的所述电子设备对所述用户登录到云虚拟机后可能访问的至少一个文件。
通过上述方法,云虚拟机也可以触发电子设备进行预测,获取电子设备的预测结果,云虚拟机上不需要进行预测,也就是不需要在云虚拟机上部署实现该预测的功能,从而避免占用云虚拟机大量的资源。
第二方面,本申请实施例还提供了一种设备,该设备包括多个功能单元,这些功能单元可以执行第一方面的方法中各个步骤所执行的功能。这些功能单元可以通过硬件实现,也可以通过软件实现。在一个可能的设计中,该设备包括传输单元以及处理单元。关于该设备实现的有益效果,请参考第一方面的描述,在此不再赘述。
第三方面,本申请实施例还提供了一种设备,该设备包括处理器和存储器,所述存储器中存储有程序指令,所述处理器运行所述存储器中的程序指令以实现第一方面所提供的方法。关于该设备实现的有益效果,请参考第一方面的描述,在此不再赘述。
第四方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所提供的方法。
第五方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行上述第一方面所提供的方法。
附图说明
图1为现有云虚拟机的***架构示意图;
图2为链接克隆云虚拟机的***盘结构示意图;
图3为现有云虚拟机响与NAS盘的模块交互示意图;
图4为本申请实施例提供的云虚拟机响与NAS盘的模块交互示意图;
图5为本申请提供的一种应用场景示意图;
图6为本申请提供的又一种应用场景示意图;
图7的为本申请提供的另一种应用场景示意图;
图8为本申请实施例提供的一种基于云桌面的数据访问方法流程示意图;
图9为LSTM模型的算法结构示意图;
图10为本申请实施例提供的对LSTM模型进行训练和预测的过程示意图;
图11为本申请实施例提供的第三种基于云桌面的数据访问方法流程示意图;
图12为本申请实施例提供的一种基于云虚拟机的数据访问设备示意图;
图13为本申请实施例提供的一种基于云虚拟机的数据访问设备示意图。
具体实施方式
下面将结合附图对本申请的实施方式进行详细描述。首先对本发明实施例可以应用到的***架构和一些基本概念进行描述,以便本领域技术人员理解。
云桌面又称桌面虚拟化、云电脑,是替代传统电脑的一种新模式。采用云桌面后,用户可以通过不同终端设备,在任何地点,任何时间访问在网络上的属于我们个人的云桌面。
如图1所示,为本申请实施例可以应用到的一种云***架构示意图,图1中左侧是虚拟桌面的客户端,通常称为瘦客户端,客户端的设备形式可以是普通计算机101a、平板电脑101b、智能手机101c等。它们通过网络102使用远程桌面协议103访问远程桌面服务。服务器204a....204n提供了远程桌面的载体,用户的虚拟桌面(Virtual Desktop)以虚拟机205a、205b....205n的形式存在于服务器上。虚拟桌面管理***106,用于提供用户的客户端与虚拟机的映射等功能。客户端首先连接到虚拟桌面管理***106,虚拟桌面管理***106在接收到客户端发送的连接虚拟机请求(下文称为登录请求)后,从虚拟机资源池中为该客户端分配虚拟机,客户端获取虚拟桌面管理***106分配的虚拟机的虚拟机地址,进而连接到虚拟机,虚拟桌面管理***106可以为服务器,也可以为普通个人计算机等,本发明对此不作具体限定。用户通过客户端访问服务器上分配给该用户的虚拟桌面(即虚拟机),该虚拟桌面将用户访问的内容传输到用户的客户端(也称为用户终端)进行显示。
简单来说,服务器204a....204n使用虚拟化技术能够虚拟出多台云虚拟机,每台云虚拟机的桌面便是云桌面,用户通过用户终端登录云虚拟机,在登录的云虚拟机进行云桌面操作。其中,本领域技术人员可以理解,所谓的用户登录云虚拟机,就是用户登录云桌面,因此,本申请实施例中,云虚拟机和云桌面有时可以混用,登录和连接可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
目前,服务器虚拟化出的云虚拟机包括链接克隆虚拟机和完整克隆虚拟机,完整克隆虚拟机占据完全独立的虚拟磁盘空间,在使用过程中,完整克隆虚拟机会与首次登录该完整克隆虚拟机的用户进行绑定,绑定后该完整克隆虚拟机只能为该用户服务,也就是,该完整克隆虚拟机不会被分配给其他用户使用。因此,完整克隆虚拟机可以将与自身绑定的用户在云桌面的全部操作数据可以永久存储于自身的虚拟磁盘内,该用户的操作数据不会随着关闭云虚拟机而清除。然而,每个完整克隆虚拟机的虚拟磁盘互相独立,互不干扰,完整克隆虚拟机占用专属的虚拟磁盘资源,当服务器的存储空间有限时,无法为更多的用户提供云虚拟机服务。
因此,链接克隆虚拟机便应运而生,链接克隆虚拟机是通过一个源虚拟机(或称为虚拟机模板/父虚拟机)克隆出的。链接克隆虚拟机的特点是多台链接克隆虚拟机共用一个相同的虚拟磁盘(下文称为***母盘),即链接克隆虚拟机可具有同一***母盘的配置的相同的操作***,应用***等。在使用过程中,链接克隆虚拟机不会与用户进行绑定。当用户通过用户终端发起登录请求后,虚拟机管理***会为该用户随机分配一台闲置的链接克隆虚拟机。如图2所示,为了满足用户登录到链接克隆虚拟机后的个性化操作,服务器为每个链接克隆虚拟机划分各自专用的部分虚拟磁盘(下文称差分盘),并将***母盘和差分盘组合为一个链接克隆虚拟机的***盘(即C盘)。也就是说,用户登录云虚拟机后产生的操作数据会被临时保存在该云虚拟机的差分盘内,换而言之,链接克隆虚拟机的差分盘可以临时存储用户在该云虚拟机上产生的操作数据,该操作数据包括但不限于:该用户的所有文件、各文件的属性信息,用户对***或应用程序的配置参数等,例如,用户创建的word文件,下载的视频、音频,对word软件的窗口颜色配置等。其中,文件的属性信息包括但不限于:该文件的图标,文件所在位置(存储路径),文件的大小,文件类型等信息。
一方面,由于链接克隆虚拟机不会与用户进行绑定,其分配的方式是随机的,为了保证该用户的操作数据不被其他用户查看到,当该用户关闭虚拟机后,该虚拟机的差分盘内保存的数据也需要被清除。
另一方面,为了使该用户下一次通过用户终端登录云虚拟机后,仍然能够访问之前在云桌面上的操作数据,目前,在用户使用云虚拟机的过程中,云虚拟机会将差分盘内保存的数据同步备份至NAS盘内。示例性的,用户在云桌面的操作会产生用户数据,比如,创建的word文件、修改后的Excel文件、下载的视频和音频等。用户在云桌面产生的以上用户数据会被暂时存储在该云虚拟机的差分盘中,并同步备份到NAS盘中该用户的账户中。其中,该NAS盘还可以存储其他云虚拟机用户的用户数据,该用户数据包含有该用户的所有文件数据、文件的属性信息以及***或应用的配置信息等。
相应的,当该用户通过用户终端再次登录云虚拟机时,云虚拟机可以从NAS盘将该用户的全部用户数据下载至本地,以供用户无缝切换。但该方式下,云虚拟机只有将该用户的全部用户数据下载完成后,才能供用户使用,因此该方式会影响用户开启云虚拟机的时间。
目前,为了缩短云虚拟机的启动时间,一种实现方式为,由NAS盘保存用户的所有文件的属性信息,其中,文件的属性信息包括但不限于该文件的大小、文件类型、保存位置和文件图标等。当用户登录到云虚拟机时,云虚拟机从NAS盘中获取该用户的所有文件的属性信息,并根据获取到的所有文件的属性信息虚拟化出该用户的文件***,其中,虚拟化出的文件***与用户实际在云桌面上的文件***相同,能够供用户浏览以及提供用户访问文件的入口,但该虚拟化出的文件***中的文件没有存在本地,还是存在NAS中,也就是,当该用户需要访问某个文件时,云虚拟机发送访问文件的请求,去NAS盘下载该访问文件请求对应的文件至云虚拟机本地。
如图3所示,为上述实现方式中云虚拟机与NAS盘的模块交互示意图,云虚拟机包括但不限于底层和应用层,底层包括文件管理驱动(file monitor driver),应用层包括文件管理应用程序(exlporer app)和配置文件应用程序(proffle app)。
当用户登录云虚拟机时,文件管理驱动触发配置文件应用程序,从NAS盘下载该用户的所有文件的属性信息,文件管理驱动基于配置文件应用程序下载的所述所有文件的属性信息,虚拟化出该用户的虚拟化文件***,当虚拟化文件***构建完成时,用户便登录到云虚拟机上。
当登录到云虚拟机后,用户可以通过虚拟化文件***进行操作,文件管理应用程序能够响应用户在虚拟化文件***上对文件的操作,并产生I/O请求。比如,用户访问虚拟化文件***中的某文件时,文件管理应用程序响应用户读文件的操作,并产生读文件的I/O请求,并在该I/O请求中携带该文件的文件标识。
文件管理驱动可以监听文件管理应用程序产生的I/O请求,并根据监听到的I/O请求触发文件管理应用程序执行相应的操作。
示例性的,如文件管理驱动监听到文件管理应用程序产生的I/O请求为读文件请求,且确定本地不存在该I/O请求中携带的文件标识对应的文件,也就是,用户访问了本地不存在的文件时,文件管理驱动触发配置文件应用程序从NAS盘下载所述读文件的I/O请求中携带的文件标识对应的文件至云虚拟机本地差分盘内。
作为另一种示例,假设用户在云桌面创建了名称为“工作”的word文件,文件管理应用程序响应用户的该操作,并产生写文件的I/O请求,并在所述写文件的I/O请求中携带所述名称为“工作”的文件的信息,所述信息包括该文件的属性信息和该文件中的数据。文件管理驱动监听到文件管理应用程序产生的该写文件的I/O请求,文件管理驱动触发配置文件应用程序将所述写文件的I/O请求中携带的名称为“工作”的文件的信息同步上传至NAS盘中。后续,若用户在云桌面内删除或修改了所述名称为“工作”的文件时,文件管理驱动也会触发配置文件应用程序同步更新NAS盘内所述名称为“工作”的文件。
通过上述实现方式,由于云虚拟机在启动的时候,可以根据获取到的所有文件的属性信息构建虚拟化文件***,而不需要把NAS中存储的文件下载至云虚拟机本地,所以缩短了云虚拟机的启动时间,但是,由于用户在访问某个文件时,首先需要从NAS中下载所访问的文件至云虚拟机本地,所以延长了用户访问文件的时间,尤其对于比较大的文件,云虚拟机从NAS盘下载该文件的时间就比较长,导致用户访问该文件的时延较大,从而影响用户体验。
鉴于此,本申请提供了一种基于云桌面的数据访问方法,在用户登录云虚拟机时,根据用户在云虚拟机中所生成文件的历史数据记录,预测该用户登录到云虚拟机后可能会访问的文件,云虚拟机并将所预测的文件从NAS下载至云虚拟机,这样,在用户登陆虚拟机后,由于可能访问的文件已经下载至云虚拟机,所以缩短了这些文件的访问时延。
下面结合具体的附图对本申请技术方案进行具体介绍。
如图4所示,为本申请中的软件模块架构中各软件模块交互的示意图,与图3相比,在图4中增加预测***。该预测***为一预测服务,也可以理解为能够实现本申请中预测功能的应用程序。下面以图4中的云虚拟机为图1中的云虚拟机为例,详细说明本申请的过程:
当用户登录云虚拟机时,一方面,文件管理驱动通过配置文件应用程序,从NAS盘获取该用户的所有文件的属性信息,并基于获取的所述所有文件的属性信息,虚拟化出该用户的虚拟化文件***。具体步骤请参见对图3中的相关介绍,此处不再赘述。
另一方面,预测***获取该用户的历史数据记录,并基于该用户的历史数据记录预测该用户的目标文件,即该用户登录到云虚拟机后将会访问的文件,应理解,实际上预测***预测出的为目标文件的文件标识,具体预测方法将在下文做详细描述。预测完成后,预测***触发配置文件应用程序从NAS中下载预测到的文件标识对应的文件至云虚拟机本地,即将下载的文件保存至虚拟化文件***中该文件的对应存储路径下,当用户通过虚拟化文件***访问该文件时,文件管理应用程序响应用户读取该文件的操作,用户可以直接访问该文件,同时文件管理应用程序针对该用户读取该文件的操作产生读文件的I/O请求。文件管理驱动监听到文件管理应用程序产生的读文件的I/O请求,并确定本地保存有该文件,避免当监听到用户读文件的I/O请求后,再触发配置文件应用程序从NAS盘下载待读取的文件,以此,缩短了用户访问该文件的时延。
其中,历史数据记录包含了在接收到登录请求之前,该用户在云虚拟机上所访问的所有的文件的记录。
需要说明的是,本申请实施例中用户的历史数据记录可以存储于云服务器中,也可以存储于云服器之外的一存储介质中,例如云服务器之外的一***立的服务器,或云存储资源(NAS或360云盘等),其中,本申请中不同用户的用户数据还可以存储于其他存储介质中。以及本申请中的预测***可以部署于云虚拟机上,也可以部署于云虚拟机之外的电子设备上,例如云服务器或者独立于云服务器或云虚拟机之外的另一存储介质中,其中,预测***和历史数据可以部署于同一装置或同一存储介质上,也可以部署于不同的装置或不同的存储介质上。下面针对不同部署方式对应的应用场景进行介绍说明:
如图5所示,为本申请实施例提供的一云虚拟机上部署该预测***的应用场景的具体示例。该示例中,虚拟机管理***响应用户通过用户终端触发的登录请求,为该用户(鉴权通过)的用户终端分配云虚拟机,并将该用户的登录请求转发给该云虚拟机,一方面,云虚拟机与用户终端建立连接,另一方面,云虚拟机根据登录请求中携带的该用户的身份信息(例如账户名称和密码),获取该用户的历史数据记录,并基于云虚拟上部署的预测***以及获取的历史数据记录,预测该用户登录到云虚拟机后可能访问的目标文件的文件标识,并从NAS盘中下载预测到的文件标识对应的文件至云虚拟机本地差分盘中。当用户终端连接到云虚拟机后,用户通过用户终端在云桌面进行操作。
如图6的所示,为本申请提供的又一应用场景的具体示例,该示例中,预测***部署在云服务器上,下面对该示例的具体流程进行介绍:
图6与图5相同的部分请参见对图5中相关部分的具体介绍,此处不再赘述。图6与图5不同的是,图6中的云虚拟机上未部署预测***,而是部署于云服务器上,因此,图6中在云虚拟机响应用户的登录请求时,还需要触发云服务器上部署的预测***对该用户登录到云虚拟机后可能访问的目标文件进行预测,即,预测***获取该用户的历史数据,并基于获取到的历史数据进行预测,将预测到的目标文件的文件标识发送给云虚拟机,云虚拟机从NAS盘中下载所述文件标识对应的文件至云虚拟机本地差分盘中。
其中,触发预测***进程预测的方式有多种,下面列举两种:
触发方式一,通过云虚拟机来触发;
云虚拟机接收到虚拟机管理***转发的该用户的登录请求时,云虚拟机触发预测***对该用户登录到云虚拟机后可能访问的文件进行预测。
示例性的,云虚拟机接收到该用户的登录请求后,通过配置文件应用程序向预测***发送预测请求,该预测请求携带该用户的身份信息,例如,该用户的账户信息。对应的,预测***接收云虚拟机的配置文件应用程序发送的预测请求,从历史数据存储介质中获取该用户的历史数据,并基于该历史数据对该用户登录到云虚拟机后可能访问的文件的文件标识进行预测。
作为又一种示例,当由云虚拟机来触发预测***进行预测时,可以由云虚拟机来获取该用户的历史数据,云虚拟机在向预测***发送预测请求时,还可以将获取的该用户的历史数据发送给预测***。
触发方式二,通过虚拟机管理***来触发;
虚拟机管理***对该用户的身份信息鉴权通过后,向预测***发送预测请求,该预测请求携带有该用户的身份信息。对应的,预测***接收虚拟机管理***发送的预测请求,从历史数据存储介质中获取该用户的历史数据,并基于该历史数据对该用户登录到云虚拟机后可能访问的文件的文件标识进行预测。
当用户终端连接到云虚拟机后,用户通过用户终端进行云桌面的操作,云虚拟机根据用户操作更新历史数据存储介质中该用户的历史数据记录,以及更新NAS中该用户的用户数据。
如图7所示,为本申请提供的又一应用场景的具体示例,该实例中,预测***部署于除云虚拟机和云服务器之外的其他一存储介质(下文称为预测***存储介质)中,下面对该示例的具体流程进行介绍:
图7与图6或图5相同的部分请参见对图6或图5中相关部分的具体介绍,此处不再赘述。下面以图6为例,介绍图7与图6的不同之处,图7与图6不同之处在于,图7的预测***并未部署于云服务器上,而是部署于云虚拟机和云服务器之外的一单独的存储介质上,因此,图7中在云虚拟机响应用户的登录请求时,还需要触发预测***对该用户进行目标文件的预测,以使预测***获取该用户的历史数据记录,并基于获取的历史数据记录预测该用户登录到云虚拟机后可能访问的目标文件的文件标识。预测完成后,预测***将预测到的目标文件的文件标识发送给云虚拟机,云虚拟机再从NAS盘中下载预测到的文件标识对应的文件至云虚拟机本地差分盘中。
需要说明的是,本申请所述的预测完成,可以是每预测到一个目标文件的文件标识后,将该预测到的文件标识发送给云虚拟机,或将预设数量的目标文件的文件标识全部预测完成后,将预测的全部文件标识一起发送给云虚拟机。本申请实施例并不作限定预测***与云虚拟机的交互方式。
下面以图5所示的应用场景为例,对本申请实施例的技术方案进行具体介绍。
如图8所示,本申请实施例提供了一种基于云虚拟机的数据访问的流程,该流程中的用户终端、虚拟桌面管理***、云虚拟机、NAS盘和历史数据存储介质可分别为上述图7中的用户终端、虚拟桌面管理***、云虚拟机、NAS盘和历史数据存储介质,该流程包括:
步骤800,用户通过用户终端发送登录请求。
用户操作用户终端发送登录请求,该登录请求中携带该用户的身份信息,例如,该用户在用户终端输入的登录云虚拟机的账户名称和密码。
步骤801,虚拟桌面管理***接收该用户发送的登录请求后,对该用户的身份信息进行鉴权,若鉴权通过,则为该用户的用户终端分配云虚拟机。
虚拟桌面管理***接收到该用户发送的登录请求后,对该用户的身份信息进行鉴权,若鉴权通过后,则为该用户的用户终端分配从虚拟机池中选择的空闲的云虚拟机,若鉴权不通过,则不响应该用户的登录请求,退出该流程。
步骤802,虚拟桌面管理***将该用户的登录请求发送给该被分配的云虚拟机。
步骤803,云虚拟机接收该用户的登录请求。
步骤804,云虚拟机响应该用户的登录请求,与该用户终端建立连接,并获取该用户的历史数据记录。
被分配的云虚拟机在接收到虚拟机桌面管理***发送的登录请求时,一方面,该云虚拟机与该用户的用户终端建立连接(例如HDP连接),其中,建立连接的过程包括:云虚拟机从NAS中获取该用户的所有文件的属性信息,根据获取到的所有文件的属性信息构建虚拟化文件***,当虚拟化文件***构建完成时,即云虚拟机与用户终端建立连接完成,该用户便登录到云虚拟机上,继而可以通过虚拟化文件***进行云桌面的操作。另一方面,云虚拟机获取用户的历史数据记录,并根据获取的历史数据记录对该用户登录到云虚拟机后可能访问的文件进行预测,对于具体的预测过程请参见步骤805和步骤806的介绍。
需要说明的是,预测***还可以部署于云虚拟机之外的存储介质上,若预测***部署于云虚拟机之外的存储介质上时,则对于步骤804,云虚拟机在响应该用户的登录请求,还需要触发预测***对该用户进行目标文件的预测。其触发方式可以参见上述触发方式一或触发方式二的具体描述,此处不再赘述。
步骤805,云虚拟机上部署的预测***基于获取的该用户的历史数据记录,预测该用户登录到云虚拟机后可能访问的目标文件的文件标识。
若预测***未部署于云虚拟机上时,当预测***预测完成后,还需要将预测到的该用户对应的文件标识发送给云虚拟机。
步骤806,该云虚拟机从NAS中下载预测***通知的文件标识对应的文件至云虚拟机本地差分盘中。
需要对于步骤806进行说明的是,本申请并不限定预测***预测用户可能访问的目标文件的文件标识的时间,可以是在用户登录云虚拟机的过程中,也可以是用户登录到云虚拟机后,或用户在使用云虚拟机的过程中,还可以是在用户使用完云虚拟机,用户终端退出云虚拟机后,例如当该用户的用户终端退出云虚拟机后,预测***获取该用户的历史数据记录,对该用户下次登录云虚拟机可能访问的文件进行预测,并保存预测到的文件的文件标识,当该用户下一次登录云虚拟机时,云虚拟机在接收到该用户的登录请求后,直接获取保存的预测到的该用户对应的文件的文件标识,而不需要在云虚拟机接收到该用户的登录请求后,预测***再开始预测,进一步缩短了用户访问某些文件的时延。本申请实施例对此不作限定。
其中,本申请实施例中的预测***预测目标文件的方式有多种,下面列举两种:
预测方式一:根据预设算法计算历史数据记录中包含的各文件的被访问权重,并根据各文件的被访问权重的大小确定目标文件。
本申请实施例中,用户的历史数据记录包含该用户在使用云桌面过程中产生的所有的文件访问记录,比如,该用户访问文件的时间信息、被访问的文件的文件标识(例如文件名称)、被访问的文件的目录层级信息、被访问的文件的大小等信息。示例性的,历史数据记录包含的一条文件访问记录为,该用户在1998年12月1日1:30:06访问了云桌面中文件标识为A的文件,该文件的大小为3M,目录层级为2层。
针对历史数据记录中包含的任意一个文件标识,预测***根据历史数据记录获取该文件标识对应的文件的访问参数,其中,访问参数包括但不限于:文件的最新访问时间、访问次数、目录层级和文件大小等,预测***根据各访问参数被分配的权重,计算该文件标识对应的文件的被访问权重,进一步,再根据该历史数据记录中包含的各文件标识对应的文件的被访问权重的大小确定目标文件。
需要说明的是,对于预测方式一对应的预测***而言,该预测***可以部署于云服务器上,或部署于云虚拟机上。示例性的,若将基于预测方式一对应的预测***部署于云虚拟机上时,则云虚拟机针对将登录的用户进行目标文件的预测,预测完成后直接根据预测到的目标文件的文件标识从NAS中进行下载,减少***间的交互。
作为又一示例,若将预测方式一对应的预测***部署于云服务器时,云服务器还需要将预测到的目标文件的文件标识通知给该用户被分配的云虚拟机,云虚拟机再根据云服务器的通知,去NAS中下载对应的文件。在该场景下,一方面,云服务器和云虚拟机的交互会造成资源浪费。另一方面,交互过程也会增加时延。另外,由于该预测方式一的计算方式简单,不需要占用较多的存储资源,因此,本申请优选将基于预测方式一的预测***部署于云虚拟机。
下面以将基于预测方式一的预测***部署于云虚拟机为例,对预测方式一的具体流程进行详细介绍:
示例性的,历史数据存储介质中存储有不同用户在使用云桌面时产生的所有的文件访问记录,也就是,历史数据记录由该用户的每一条文件访问记录组成,换而言之,本申请云虚拟机获取到的该用户的历史数据记录,为在云虚拟机接收到该用户的登录请求之前,该用户在云虚拟机中产生的所有的文件访问记录。其中,文件访问记录包含但不限于下列中的部分或全部:
该用户访问文件的时间、被访问的文件的文件标识、被访问的文件的目录层级或被访问的文件的大小。
示例性的,如下表1所示,为云虚拟机获取到的该用户的历史数据记录。
表1
1 | 2018年11月1日12:10访问文件A,文件A的目录层级为2层,大小为2M |
2 | 2018年11月1日12:12访问文件B,文件B的目录层级为3层,大小为4M |
3 | 2018年11月1日12:14访问文件C,文件C的目录层级为3层,大小为4M |
4 | 2018年11月2日9:12访问文件A,文件A的目录层级为2层,大小为2.5M |
5 | 2018年11月2日9:30访问文件D,文件D的目录层级为1层,大小为100M |
6 | 2018年11月2日13:30访问文件B,文件B的目录层级为3层,大小为5M |
7 | 2018年11月2日13:33访问文件C,文件C的目录层级为3层,大小为4M |
8 | 2018年11月3日9:30访问文件E,文件E的目录层级为2层,大小为6M |
9 | 2018年11月3日9:40访问文件B,文件E的目录层级为3层,大小为4M |
需要说明的是,云虚拟机在预测该用户对应的目标文件的文件标识时,并非需要获取该用户的全部历史数据记录,也可以获取一段时间内该用户的历史数据记录,本申请实施例对此并不作限定。例如,云虚拟机获取当前时间之前6个的月的文件访问记录,并基于该6个月内该用户的文件访问记录进行预测,以此减少预测***的计算量。
云虚拟机根据预设算法计算获取的历史数据记录中包含的各文件标识对应的文件的被访问权重,并根据各文件的被访问权重的大小确定目标文件的文件标识,并从NAS中下载确定的文件标识对应的文件至本地差分盘内。
具体的,预设算法为,根据文件的各访问参数以及各访问参数被分配的权重来计算该文件的被访问权重,其中,该访问参数包括但不限于下列中的部分或全部:
最后访问时间、被访问次数、目录层级或文件的大小。
假设预设算法为下述算法1。
weight=μ1×β1+μ2×β2+μ3×β3+μ4×β4.................算法1
其中,Weight表示该文件的被访问权重,μ1表示文件的被访问次数,β1为μ1的权重系数,μ2表示文件的最后访问时间,β2为μ2的权重系数,μ3表示文件的目录层级,β3为μ3的权重系数,μ4表示文件的大小,β4为μ4的权重系数。
应理解的是,若文件的被访问次数越大,则用户再次访问该文件的概率也就越高;文件的最后访问时间离当前时间越近,则用户再次访问该文件的概率也就越高;对于文件的目录层级而言,用户可能将经常访问的文件置于比较浅的层级中,因此,若文件的目录层级较浅则相对于目录层级较深的文件的被访问的概率也就越高;文件的大小越大,则云虚拟机从NAS中下载该文件的用时越长,越容易导致用户访问某些文件的时延增加,影响用户体验。例如,两个文件除文件的大小之外的其他访问参数都相同,则两个文件中,将较大的文件作为目标文件的概率越高。
需要说明的是,历史数据记录中记录的文件的访问时间为绝对时间,比如,2018年11月2日9:12为一个绝对时间,该时间不具有可比性,本申请实施通过算法1计算各文件的被访问权重时,需要将各文件的访问参数-最后访问时间进行UTC转换,以UTC为时间基准,对绝对时间进行转换,具体转换方式如下:
其中,UTC时间起点为1970年1月1日的00:00:00.000,以根据历史数据记录得到的该文件的最后访问时间(绝对时间)距1970年1月1日的00:00:00.000的偏移量,作为计算该文件的被访问权重时,该文件的最后访问时间。例如,1970年1月1日的01:01:00.000与世界标准时间的偏移量为61分钟。
云虚拟机通过上述算法1确定获取到的历史数据记录中包含的所有文件标识对应的文件的被访问权重,并根据各文件的被访问权重的值从大到小的顺序,选取被访问权重较大的文件作为目标文件。
通过比较文件的访问参数和表1(历史数据记录)可知,历史数据记录中并没有记载文件的被访问次数,因此,在通过算法1计算各文件的被访问权重之前,应根据获取到的历史数据记录确定历史数据记录中包含的各文件标识对应的文件的访问参数,再根据确定的访问参数,使用算法1计算各文件的被访问权重。
下面以表1为例,对根据历史数据记录确定文件的访问参数的过程进行详细说明:
针对表1中包含的任一文件标识,云虚拟机遍历表1,以统计包含该文件标识的文件访问记录的条数,即为该文件标识对应的文件的被访问次数,再将包含该文件标识的文件访问记录中,与当前时间最接近的访问时间作为该文件标识对应的文件的最后访问时间,根据记录有最后访问时间的文件访问记录确定该文件标识对应的文件的目录层级和文件的大小。
如下表2所示,为云虚拟机基于上述方式,从表1中统计出的各文件的访问参数,参见表2所示。
表2
下面针对表2所示的各文件的访问参数,以算法1为例,对使用预设算法计算表2中各文件的被访问权重的过程进行详细介绍。
假设β1的值为0.4,β2的值为0.3,β3的值为0.1,β4的值为0.1,则云虚拟机确定文件标识A对应的文件的被访问权重满足weightA=0.4×2+0.3×TA+0.2×2+0.1×2;文件标识B对应的文件的被访问权重满足weightB=0.4×3+0.3×TB+0.2×3+0.1×4;文件标识C对应的文件的被访问权重满足weightC=0.4×2+0.3×TC+0.2×3+0.1×4。其中,上述TA为表2中文件标识A对应的文件的最后访问时间2018年11月2日9:12与世界标准时间之间的偏移量;TB为表2中文件标识B对应的文件的最后访问时间2018年11月3日9:40与世界标准时间之间的偏移量;同样的,TC为表2中文件标识C对应的文件的最后访问时间2018年11月1日12:14与世界标准时间之间的偏移量。依次类推,通过上述方式计算文件标识D和文件标识E对应的文件的被访问权重。
当确定出各文件标识对应的文件的被访问权重后,根据各文件的被访问权重的值按照从大到小进行排序,选取被访问权重的值较大的文件作为目标文件,其中,云虚拟机确定目标文件的数量的方式有多种。下面举例说明:
假设各文件按照被访问权重的值的排序为D>B>A>C>E,一种可实现的方式为,通过预设目标文件的数量的方式进行确定,例如,假设预设目标文件的数量为3,则预测***选取排序中前3个文件标识作为目标文件的文件标识,即预测***确定目标文件的文件标识为D、B和A,云虚拟机在顺序下载完文件标识为D、B和A的文件后即停止下载。另一种可实现的方式为,根据预设被访问权重的阈值进行确定,比如,预设被访问权重的阈值为80%,则确定的各文件的被访问权重的值不小于0.8的文件为目标文件。例如,云虚拟机确定各文件的被访问权重的值的排序为D>B>A>C>E,其中,文件标识C对应的文件的被访问权重的值为0.8,则云虚拟机确定目标文件的文件标识为D、B、A和C,云虚拟机在顺序下载完文件标识为D、B、A和C的文件后停止下载。
需要说明的是,目标文件的排序可以表示用户登录到云虚拟机后访问文件的顺序,例如,预测***确定目标文件的文件标识为D、B、A和C,则文件标识D对应的文件即为预测到的该用户登录到云虚拟机后首个访问的文件,文件标识B对应的文件为预测得出的用户访问文件标识D对应的文件之后顺次访问的文件,文件标识A对应的文件为预测得出的用户访问文件标识B对应的文件之后顺次访问的文件,依次类推。对应的,云虚拟机按照该访问权重的排序,顺次从NAS盘中下载文件标识为D的文件,文件标识为D的文件下载完成后,再下载文件标识为B的文件,文件标识为B的文件下载完成后,再下载文件标识为A的文件,依次类推,直到按照被访问权重的顺序将所有预测到的目标文件全部下载完成为止。
上述介绍的为通过预测方式一进行预测的具体示例,在一种可选的场景中,预测***还可以通过预测方式二进行预测,下面通过下述实施例对预测方式二的具体预测流程进行介绍。
预测方式二:通过深度学习算法模型预测目标文件。
本申请实施例还可以通过,基于用户的历史数据记录得到的训练样本,对深度学习算法模型(下文称预测模型)进行训练,以使训练后的预测模型掌握该用户访问文件的访问习惯,预测***基于该用户的预测模型预测该用户在登录到云虚拟机后,可能访问的目标文件的文件标识。
本申请实施例中的预测模型为对深度学习算法进行训练后得到的深度学习算法模型,本申请实施例可以应用的深度学习算法模型包括但不限于:LSTM、SVM(支持向量机,support vector machine)、朴素贝叶斯、决策树、神经网络、RNN((Recursive NeuralNetwork,递归神经网络/Recurrent Neural Network,循环神经网络)、DBSCAN(Density-Based Spatial Clustering of Applications with Noise。
其中,LSTM模型是一种时间递归型神经网络,适用于处理和预测,时间序列中间隔和延迟相对较长的重要事件,也就是,能够基于较长一段历史时间内每个时间点发生的事件,来预测未来某个时间点可能会发生的事件。其中,通常,通过为时间点编号,即通过时间次序来记录各个时间点发生的事件,比如,表1所示的历史数据记录中,表1第一行记录的用户访问文件A的时间次序为1,表1第二行记录的用户访问文件B的时间次序为2,表1第三行记录的用户访问文件C的时间次序为3,依次类推。LSTM模型能够根据历史数据记录中各时间次序对应的用户访问的文件来推测下一时间点该用户将访问的文件,例如,针对表1而言,LSTM模型能够针对时间次序1~9对应的用户访问的各文件,来推测下一时间点,即时间次序10,用户可能访问的文件。
因此,本申请实施例中的预测模型优选LSTM模型。在介绍本申请通过LSTM模型进行目标文件的预测前,首先对LSTM模型的结构和原理进行介绍:
如图9所示,为LSTM模型的结构和预测过程示意图。
首先对LSTM的结构进行介绍,如图9所示,LSTM模型包含遗忘门(forget),输入门(input)和输出门(output)以及单元状态C,其中单元状态C为实现时间递归的算法结构。
其中,LSTM的输入有两个,分别为输入xt和ht-1,其中,xt表示待预测的时间次序,另一输入ht-1为用户在上一时间次序xt-1访问的文件的文件编号,通常,LSTM模型的输入为数值,因此,需要为用户实际访问的文件预定义文件编号,该文件编号ht-1为该文件针对同一用户的唯一数字编号,文件标识与文件编号具有对应关系,例如,文件标识为a的文件的文件编号为1,文件标识为b的文件的文件编号为2,依次类推,基于该用户的历史数据记录中的所有文件标识,进行预定义,分别为每个文件标识定义唯一对应的数字编号。
LSTM的输出ht,为预测的用户在时间次序xt时访问的文件的文件编号。
下面对LSTM的预测流程进行介绍,参见图9,假设用户在时间次序xt-3访问了文件标识为filet-3的文件,filet-3对应的文件编号为ht-3,在时间次序xt-2访问了文件标识为filet-2的文件,filet-2对应的文件编号为ht-2在时间次序xt-1访问了文件标识为filet-1的文件,filet-1对应的文件编号为ht-1,ht-4为用户在时间次序xt-4访问的文件的文件编号,在图9的示例中,LSTM当前要预测时间次序xt用户将要访问的文件的文件标识ht,则图9中LSTM模型分别执行①②③④步骤,以对ht进行预测。
从图9可知,输入门input的输出为it,it和模型左侧的tanh进行点积相乘后输入至单元状态C。其中,it的算法参见算法2。
it=σ(Wxixt+Whiht-1+Wcict-1+bi) 算法2
遗忘门forget的输出为ft,ft与ct-1点击相乘后输入至单元状态C,用于计算ct,其中,ft的算法参见算法3,ct的算法参见算法4。
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf) 算法3
ct=ft⊙ct-1+it⊙tanh(Wxcxt+Whcht-1+bc) 算法4
通过算法4可以得出,ct取值依赖于ct-1,而ct-1依赖于ct-2,于ct-2依赖于于ct-3,依次类推,也就是,单元状态ct保留了对未来输出有影响的历史信息,单元状态C能够根据时间次序以及每个时间次序访问的文件的文件标识计算决定ht的ct。
输出门output的输出为ot,ot与tanh(ct)点击相乘后得到ht。其中,ot的算法参见算法5,ht的算法参见算法6。
ot=σ(Wxoxt+Whoht-1+Wcoct-1+bo) 算法5
ht=ot⊙tanh(ct) 算法6
其中,上述算法中包含的Wxi、Whi、Wci、bi、Wxf、Whf、Wct、bf、Wxc、Whc、bc、Wxo、Who、Wco、bo和σ为LSTM模型中的静态参数,可以通过训练LSTM模型得出。
以上为对LSTM模型结构和原理的基本介绍,下面对LSTM模型的训练过程进行介绍:
本申请实施例是使用用户在历史时间内不同时间次序访问的文件的文件编号作为训练样本进行训练,以预测用户在距当前的时间次序之后的下一时间次序将会访问的文件的文件编号。
如图10(a)所示,为训练LSTM模型过程示意图,其中,x表示时间次序,h1~hn表示用户实际访问的文件的文件编号,且不同时间次序访问的文件可能相同,也就是输入的训练样本中,不同时间次序的文件编号可能相同。
其中,文件编号与文件的文件标识具有对应关系,例如,用户在时间次序x1~xn访问的不同文件有3个,各文件的名称分别为“abc”、“123”、“学习”,则该3个文件与文件编号的对应关系可以为下列表3所示。
表3
文件名称 | 文件编号 |
abc | 1 |
123 | 9 |
学习 | 5 |
需要说明的是,上述对应关系仅为举例,各文件名称对应的文件编号可以随机定义,或按照由大到小或由小到大的顺序定义。由于每个用户建立的文件不同,每个用户的历史数据记录中包含的文件标识(文件名称)与文件编号的对应关系不同,但同一个用户的同一文件标识对应的文件编号相同。
假设用户为在时间次序x1访问了文件“abc”,基于上述对应关系可知,文件““abc””的文件编号为1;用户在时间次序x2访问了文件“123”,文件“123”的文件编号为9;用户在时间次序x3访问了文件“学习”,文件“学习”的文件编号为5,输出为ht,表示LSTM模型预测的时间次序x1访问的文件的文件编号。
在训练LSTM模型时,将[x1,1]、[x2,9]、[x3,5]作为训练样本输入至LSTM模型,输出hn为LSTM模型预测的用户在时间次序xn可能访问的文件的文件编号,若该LSTM模型基于文件编号1预测出x2对应的文件编号h2为9时,则无须调整LSTM模型的各静态参数,若预测得到的h2不为9时,则调整LSTM模型的各静态参数,以使h2的输出为9。同样的,在预测x3时间节点对应的h3时,若基于[x1,1]和[x2,9]预测x3对应的h3为5时,则无须调整LSTM模型的各静态参数,若预测得到的h3不为5时,则调整LSTM模型的各静态参数,以使h3的输出为5。依次类推,通过大量的训练样本训练LSTM模型,以使该LSTM模型的算法规律能够学习该用户访问文件的规律,或者说是访问文件的习惯。
简单来说,本申请训练后的LSTM模型基于该用户的历史访问文件的记录,通过数学规律体现该用户访问文件的规律,通过对用户的历史访问文件的记录总结出的数学规律来预测用户下一次登录后将会访问的文件(文件编号)。
比如,用户每次登录云虚拟机后都会访问文件名称为“工作”的文件夹,该文件夹下包含的为用户从工作以来创建的所有文件,通过用户的历史访问文件的记录可以得出,用户每隔一周便会在“工作”的文件夹下创建1~2个新的word文件,且用户在该周内每次登录云虚拟机都会随机打开该周创建的该1~2个word文件。因此,当通过上述数据对应的训练样本对LSTM模型进行训练时,可以让该LSTM模型通过数学规律体现该用户访问文件的规律,该规律用于确定每个文件编号之间的关联性,该关联性可以体现为与当前时间次序最接近的时间次序(两个时间次序访问的文件相同)和/或在该文件编号之后其他文件编号出现的概率值之间的关联。当用户下一次登录云虚拟机时,LSTM模型可以根据该规律,得到与当前最新的时间次序下用户访问的文件关联度最高的文件编号,并输出该文件编号,该文件编号即为下一时间次序用户可能访问的文件的文件编号。也就是,LSTM模型能够根据输入的数据,学习该用户在不同时间次序访问文件的规律,该规律可以体现为,根据输入的各时间次序对应的文件编号,确定各文件编号之间的关联性,并预测与下一时间次序之前的一个时间次序对应的文件编号的关联性最高的文件编号,通过该规律预测下一时间次序用户可能访问的文件(文件编号)。
下面对该LSTM模型的使用过程(或称为预测过程)进行介绍。
如图10的(b)所示,为使用训练后的LSTM模型进行的预测过程。x表示时间次序,h1~hn表示用户实际访问的文件的文件编号。hn+1表示预测出的用户在时间次序xn+1将会访问的文件的文件编号。
假设用户访问了3个文件,分别为在时间次序x1访问了文件file1,文件file1的文件编号为a;在时间次序x2访问了文件file2,文件file2的文件编号为b;在时间次序x3访问了文件file3,文件file3的文件编号为c。若要基于训练后LSTM模型预测时间次序x4时用户将会访问的文件的文件编号,则将x4和x4之前的时间次序以及各时间次序访问的文件的文件编号输入至训练后的LSTM模型,训练后的LSTM模型基于对用户访问文件的习惯总结出的数学规律预测在时间节点x4将会访问的文件的文件编号,比如可能为a、b、c中的一个。x1 x2x3 ht
以上为对LSTM模型的简要介绍,下面结合本申请的技术方案对本申请基于LSTM的预测模型进行预测的过程进行详细介绍。
本申请实施例可以通过一个LSTM模型预测基于用户的历史数据记录包含的所有的文件访问记录来预测该用户在下一时间次序可能访问的文件(文件编号)。为了提高精度,也可以通过两个LSTM模型进行预测,即通过其中一个LSTM模型分别预测用户登录云虚拟机后访问的首个文件(文件编号),以及通过另一个LSTM模型预测用户该访问完首个文件后,顺序访问的其他文件(文件编号),由于预测用户访问的首个文件(文件编号)的LSTM模型为基于用户每次登陆云虚拟机后访问的首个文件的训练样本进行训练的,则该LSTM模型能够较快学习到用户每次登陆云虚拟机后访问的首个文件的规律,模型训练的过程更加简便,因此,通过两个LSTM模型分别预测的方式,预测精度更高,训练过程更加简便。本申请实施例优选通过两个LSTM模型进行预测,下面对该两个LSTM模型进行详细介绍。
本申请实施例中的预测模型包含第一预测模型和第二预测模型,其中,第一预测模型是根据用户每次登录云虚拟机后首个访问的文件的文件编号进行训练得到的,用于预测用户登录云虚拟机后首个访问的文件;第二预测模型是根据用户每次登录云虚拟机顺序访问的所有文件的文件编号进行训练得到的,用于根据第一预测模型预测出的首个访问的文件,预测在首个访问的文件之后将会顺序访问的其他文件。
下面以一个用户为例,对训练该用户对应的预测模型的过程进行详细介绍:
预测***获取该用户的历史数据记录,根据历史数据记录得到各预测模型的训练样本数据。示例性的,本申请中第一预测模型的训练样本数据为数据集A1,第二预测模型的训练样本数据为数据集A2。
数据集A1包含该用户每次登录云虚拟机后首次访问的文件的文件编号,数据集A1中的文件按照被访问的时间由远及近进行排列;
数据集A2包含该用户每次登录云虚拟机后顺序访问的所有文件的文件编号,数据集A2中的文件也是按照被访问的时间由远及近进行排列。
由于历史数据记录为如表2所示的文件访问记录的形式,假设根据获取到的某用户的历史数据记录整理出如下表4所示的数据。
表4
登录云虚拟机的次序 | X1 | X2 | X3 | X4 |
登录云虚拟机后首个访问的文件 | Filel1 | File21 | File31 | File41 |
顺序访问的第2个文件 | File12 | File22 | File32 | File42 |
顺序访问的第3个文件 | File13 | File23 | File33 | File43 |
顺序访问的第4个文件 | File14 | File24 | File34 | File44 |
顺序访问的第5个文件 | File15 | File25 | File35 | File45 |
顺序访问的第6个文件 | File16 | File36 | File46 | |
顺序访问的第7个文件 | File17 | File37 | ||
顺序访问的第8个文件 | File18 | |||
顺序访问的第9个文件 | ||||
...... | ...... | ...... | ...... | ...... |
顺序访问的第n个文件 |
其中,x表示按照时间顺序对用户每次登录云虚拟机进行编号后得到的时间次序,X1即编号该用户第一次登录云虚拟机,X2表示该用户第二次登录云虚拟机,X3表示该用户第三次登录云虚拟机,依次类推。对应的,X1=1,X2=2,X3=3,X4=4,依此类推。
其中,Filexn表示用户在第X次登录云虚拟机时顺序访问的第n个文件,例如,File11表示用户在第1次登录云虚拟机时,户访问的首个文件,File12表示用户在第1次登录云虚拟机时,为用户在访问File11之后顺序访问的第2个文件,File13表示用户在第1次登录云虚拟机时,为用户在访问File12之后顺序访问的第3个文件,依次类推。
需要说明的是,在确定用户每次登录后访问的首个文件时,可以通过历史数据记录来确定,比如,历史数据记录中记录的用户每次登录云虚拟机时访问的首个文件会有相应标识,该标识可以是但不限于文字、数字或符号中的一项或多项。另外,上述Filexn为通过两个维度来体现的文件的访问顺序,并非表示文件标识,例如,File11、File21、File31和File41可能为同一个文件。示例性的,如下表5所示,为表4中不同时间次序该用户实际访问的文件的文件标识。
表5
其中,每个文件的文件标识对应一个文件编号,该用户访问的文件(文件标识)包括a、b、c、d、e、h、r、y,假设各文件标识对应的文件编号如下表6所示。
表6
文件名称 | 文件编号 |
a | 1 |
b | 2 |
c | 3 |
d | 4 |
e | 5 |
h | 6 |
r | 7 |
y | 8 |
下面基于表5和表6,对第一预测模型的训练过程进行介绍:
基于上述表5和表6得到第一预测模型的训练样本数据A1,如下:
根据表4可知第一预测模型的训练样本数据为用户每次登录云虚拟机访问的首个文件,即[(X1,File11),(X2,File21),(X3,File31),(X4,File41)]。根据表5可知,[(X1,Filel1),(X2,File21),(X3,File31),(X4,File41)]=[(X1,a),(X2,e),(X3,h),(X4,c)]。
由于LSTM模型输入为数值,不能直接将文件标识输入至LSTM模型中,因此根据表6可以确定,输入到第一预测模型中的训练样本数据A1=[(1,1),(2,5),(3,6),(4,3)]。
将上述数据集A1输入至第一预测模型中,第一预测模型基于(X1,1)预测时间次序X2对应的文件编号h2,若h2为5(用户在时间次数X2实际访问的文件的文件编号),则不需调整第一预测模型内的各静态参数,若h2不为5,则调整第一预测模型内的各静态参数,直到第一预测模型计算出的h2为5;继而对时间次序X3对应的h3进行预测,若预测出的h3为6(用户在时间次数X3实际访问的文件的文件编号),则不需调整第一预测模型内的各静态参数,若h3不为6,则调整第一预测模型内的各静态参数,直到第一预测模型计算出的h3为6,依次类推。
需要说明的是,上述输入至LSTM模型的数据集的形式为举例,本申请并不限定于上述数据集的形式。例如,输入至LSTM模型的数据集也可以只包含文件编号,由LSTM模型按照文件编号的排序确定各文件编号对应的时间次序,例如,以数据集A1为例,输入到模型的数据集A1还可以为[1,5,6,3],即仅包含文件编号,由LSTM模型按照文件编号的顺序确定各文件编号对应的时间次序,并根据确定的时间次序,预测下一时间次序的输出,在一种可选的场景中,输入至预测模型的可以为仅包含文件编号的数据集,而不包括待预测的时间次序,该待预测的时间次序可以由模型自身确定,本申请实施例对此不作限定。
在训练的过程中,根据用户在使用过程中实际的文件访问记录更新该用户的历史数据记录,并根据该用户的更新后的历史数据记录更新数据集A1,并通过上述方式使用更新后的数据集A1对该用户的第一预测模型进行持续训练,需要说明的是,当输入的训练样本数据的数量足够大时,LSTM模型会统计预测的错误率,当错误率达到预设数值时,该LSTM模型会针对该训练样本数据从头开始训练,以重新调整模型内的静态参数,直到该第一预测模型的准确率达到理想值,比如,准确率达到90%,该模型的准确率达到理想值时,便可认为该模型训练完成,即可以使用该模型进行预测。
下面对第二预测模型的训练过程进行介绍:
基于上述表4得到第二预测模型的训练样本数据A2,如下:
A2=[(S1,File11),(S2,File12),(S3,File13),(S4,File14),(S5,File15),(S6,File16),(S7,File17),(S8,File18),(S9,File21),(S10,File22),(S11,File23),(S12,File24),(S13,File25),(S14,File31),(S15,File32),(S16,File33),(S17,File34),(S18,File35),(S19,File36),(S20,File37),(S21,File41),(S22,File42),(S23,File43),(S24,File44),(S25,File45),(S26,File46)]。其中,S(n)为按照时间顺序对用户在虚拟机上所访问的所有文件的时间点进行编号后得到的时间次序,假设S1=1,则S26=26,换而言之就是,按照访问顺序将用户第一次登录云虚拟机访问的首个文件开始至最后一次登录访问的最后一个文件为止进行排序,得到的编号,例如,针对表4,也可以理解为,用户在4次登录访问云虚拟机过程中所访问的所有文件的时间次序。
表5为表4对应的用户实际访问的文件的文件标识,基于表5得到第二预测模型的训练样本数据A2,如下:
A2=[(S1,a),(S2,b),(S3,c),(S4,d),(S5,b),(S6,h),(S7,e),(S8,d),(S9,e),(S10,b),(S11,e),(S12,c),(S13,d),(S14,h),(S15,c),(S16,d),(S17,r),(S18,h),(S19,e),(S20,b),(S21,c),(S22,h),(S23,y),(S24,d),(S25,e),(S26,d)]。
根据表6所示的对应关系,确定第二预测模型的训练样本数据A2为:
A2=[(1,1),(2,2),(3,3),(4,4),(5,2),(6,6),(7,5),(8,4),(9,5),(10,2),(11,5),(12,3),(13,4),(14,6),(15,3),(16,4),(17,7),(18,6),(19,5),(20,2),(21,3),(22,6),(23,8),(24,4),(25,5),(26,4)]。
使用上述最终确定的数据集A2对第二预测模型进行训练,具体训练方式请参见上述对第一预测模型的训练步骤,此处不再赘述。
综上,训练后的第一预测模型能够确定数据集A1中最后一个文件的至少一个关联文件,并确定该最后一个文件与各关联文件的关联度,并根据关联度预测用户在下一时间次序可能访问的文件,即用户登录到云虚拟机后可能访问的第一个文件。其中,关联文件为数据A1中记录的用户在访问完与所述最后一个文件相同的文件之后访问的文件;例如,假设数据集A1为[(1,1),(2,2),(3,3),(4,2),(5,3),(6,4),(7,5),(8,3)],则该数据集中的最后一个文件的文件编号为3,根据数据集A1可知,用户在之前使用云桌面过程中,在访问完文件编号为3的文件之后还访问过文件编号为2的文件以及文件编号为4的文件,因此,文件编号3和文件编号4为文件编号3的关联文件。
第一预测模型能够根据学习到的用户访问文件的规则,确定文件编号3与各关联文件直接的关联度,示例性的如,第一预测模型根据两个文件之间的间隔来确定两者的关联度,例如,用户在一年前访问完文件A后访问了文件B,在一周前访问完文件A后访问了文件C,则文件B和文件C都是文件A的关联文件,但文件C与文件A的关联度高于文件B文件A的关联度,或用户在一年前访问完文件A后访问了文件B,之后用户在访问完文件A后又访问了文件C,但之后用户在使用云桌面过程的很长一段时间不再访问文件B,但会频繁访问C,则文件C与文件A的关联度高于文件B文件A的关联度。
作为另一种示例,第一预测模型根据第一数据集合中用户在访问完与所述最后一个文件相同的文件之后访问所述关联文件的频率确定的两个文件之间的关联度。例如,用户在访问完文件1的关联文件为文件2和文件3,但根据第二数据集确定用户在访问完文件1后访问文件2的频率低于用户在访问完文件1后访问文件3的频率,则文件3与文件1的关联度高于文件2文件1的关联度。
作为又一种示例,第一预测模型还可以结合上述两种方式来确定两个文件之间的关联度,例如,按照第一种示例的方式确定出两个文件的关联度1,按照第二种示例的方式确定出相同的两个文件的关联度2,并为两个关联度的值分配权重,以确定最终的关联度的值。
对应的,训练后的第二预测模型也能够根据数据集A2中最后一个文件的至少一个关联文件,并确定该最后一个文件与各关联文件的关联度,并根据关联度预测用户在下一时间次序可能访问的文件,体请参见上述对训练后的第一预测模型的介绍,此处不再赘述。
其中,训练后的第一预测模型便可以用于预测用户登录云虚拟机后将访问的首个文件,则训练后的第二预测模型用于预测用户在访问的首个文件之后还会顺序访问的文件。因此,第二预测模型在进行预测时,需要将第一预测模型预测到的用户可能访问的第一个文件的文件编号按照时间次序添加至数据集A2的尾端,并基于第一预测模型预测的第一个文件预测用户可能访问的第二个文件,再将预测到的第二个文件的文件编号更新数据集A2,并基于预测到的第二个文件来预测用户可能访问的第三个文件,以此类推。
需要说明的是,上述仅为举例说明,实际上LSTM模型中的静态参数有多种,且并不限于本申请所示的算法中包含的参数,本申请实施例可以通过上述训练方式训练LSTM模型,使其能够确定各文件之间的关联度,且确定关联度的方式并不限于上述示例。
下面对使用第一预测模型和第二预测模型进行预测的过程进行具体介绍:
结合上述表4所示的例子,按照当前数据集A1内的排序,用户再次登录云虚拟机的时间次序为X5,下面通过第一预测模型预测用户在时间次序X5可能访问的首个文件的文件编号。
将数据集A1和X5输入至第一预测模型,第一预测模型输出h5,h5为用户在时间次序X5可能访问的文件的文件编号。
通过第二预测模型预测在h5之后用户将顺序访问的文件的文件编号。需要说明的是,本申请实施例的第二预测模型需要结合第一预测模型预测的用户访问的首个文件来预测顺序访问的文件,因此,在使用第二预测模型预测用户在访问完h5(对应的文件)之后顺序访问的文件时,需要根据第一预测模型预测的用户可能访问的首个文件的文件编号更新数据集A2,假设h5(文件编号)的值为8更新后的数据集A2为:
A2=根据表6所示的对应关系,确定第二预测模型的训练样本数据A2为:
A2=[(1,1),(2,2),(3,3),(4,4),(5,2),(6,6),(7,5),(8,4),(9,5),(10,2),(11,5),(12,3),(13,4),(14,6),(15,3),(16,4),(17,7),(18,6),(19,5),(20,2),(21,3),(22,6),(23,8),(24,4),(25,5),(26,4)(27,8)]。
其中,将h5(8)添加至数据集A2时,按照数据集A2当前的排序确定h5的时间次序为顺序递增的,即S27,按照排序S27=27。
根据更新后的数据集A2预测用户在时间次序S28将会访问的文件的文件编号。即将更新后的数据集A2和时间次序S28输入至第二预测模型中,第二预测模型预测用户在S28将会访问的文件的文件编号,假设为h6。
若要继续预测用户在时间次序S28之后的时间次序S29将会访问的文件的文件编号,则按照时间次序将(S28,h6)添加至数据集A2的尾端,以更新数据集A2,继续使用更新后的数据集A2预测用户在时间次序S29将会访问的文件的文件编号(假设为h7),依次类推,直到满足结束条件。
其中,该结束条件可以为多种形式,下面列举几种:
1)确定当前预测出的目标文件的文件编号达到预设数量后,输出该目标文件的文件编号。例如:预设数量为3,该当该预测模型确定出3个目标文件的文件编号后(例如上述的h5,h6,h7),确定结束预测的流程。
3)预测出的目标文件重复,比如,文件编号h5为e,文件编号h7也为e;或者文件编号h5对应的文件与文件编号h7对应的文件是同一文件。
需要说明的是,对预测方式二对应的预测***而言,由于不同用户具有不同的访问文件的使用习惯,因此,通过不同的训练样本训练出的深度学习算法模型的静态参数也就不相同,也就是,每个云虚拟机的用户都有自身对应的预测模型。由于链接克隆云虚拟机具有随机被分配的特性,因此,若在云虚拟机上部署各用户对应的预测模型,则需要在云虚拟机上部署该云虚拟机可能会被分配给的部分或全部用户对应的预测模型,会占用云虚拟机大量的存储资源。因此,本申请实施例,在通过预测模型预测目标文件时,优选的,将预测模型部署于云虚拟机之外的存储介质中,例如云服务器中,或云服务器之外的独立的装置或存储介质。
上述介绍的为云虚拟机通过预测方式一或预测方式二进行单独预测的具体示例,本申请实施例可以结合预测方式一和预测方式二进行预测,例如,当用户使用云桌面产生的历史数据记录较少时,通过预测方式一进行预测,当用户的历史数据记录的数量较大时,使用预测方式二进行预测,下面结合上述两种预测方式预测目标文件的文件编号的流程进行介绍。
下面结合图11说明结合预测方式一和预测方式二进行预测确定目标文件的流程,在图11所示的示例中,云服务器上部署有预测方式一对应的预测***,预测模型部署于与云服务器独立的另一服务器上,该流程包括:
步骤1100,用户触发用户终端发送登录请求;
步骤1101,虚拟桌面管理***接收该用户发送的登录请求后,对该用户的身份信息进行鉴权,若鉴权通过,则为该用户的用户终端分配云虚拟机;
步骤1102,云虚拟机从历史数据存储介质中获取该用户的历史数据记录,并判断当前是否满足使用预测方式一进行预测的条件(以下简称为第一预测条件),如果是,则执行步骤1103,否则执行步骤1104;
其中,第一预测条件可以包括下列中的部分或全部:
1)历史数据记录内包含的文件标识对应的文件的数量小于或等于预设数量;
2)所述用户登录云虚拟机的次数小于或等于预设次数;
3)所述用户使用云虚拟机的累积时间小于或等于预设累积时间。
需要说明的是,若历史数据存储介质部署于云服务器,则步骤1102中判断当前是否满足第一预测条件的执行主体还可以是云服务器,由云服务器根据判断结果通知部署了对应预测方式的对象进行预测,比如,云服务器确定当前满足第一预测条件,则通知该云虚拟机进行预测,并将该用户的历史数据记录发送给云虚拟机;若云服务器确定当前不满足第一预测条件,则通知预测模型存储介质使用该用户对应的预测模型进行预测,并将该用户的历史数据记录发送给预测模型存储介质。
本申请实施例,可以灵活执行具有不同功能的存储介质之间的信息交互,本申请实施例最终是以集成有预测***的主体基于获取到的该用户的历史数据记录进行预测的,并不限定于该***内各部分进行数据交互的方式和过程。
步骤1103,云虚拟机根据预设算法计算历史数据记录中包含的各文件标识对应的文件的被访问权重,并根据各文件的被访问权重的大小确定目标文件的文件标识,从NAS中下载确定的文件标识对应的文件至本地差分盘内。
对于步骤1103可以参见上述预测方式一中介绍的具体执行步骤,此处不再赘述。
步骤1104,预测模型基于获取的历史数据记录预测该用户登录到云虚拟机后的目标文件的文件标识,并将预测到的文件标识发送给云虚拟机,云虚拟机从NAS中下载该文件标识对应的文件至本地差分盘内。
对于步骤1104可以参见上述预测方式二中介绍的具体执行步骤,此处不再赘述。
优先的,云虚拟机在从NAS中下载目标文件时,用户还可以正常使用云桌面,例如,通过虚拟机文件***访问文件,或在云虚拟机本地建立新的文件。当用户在云虚拟机上访问已下载的目标文件时,不需要再等待云虚拟机从NAS盘中下载该文件的这段时间,有效的缩短了用户访问这些文件的时延,提高了用户体验,具有较强的应用性。
本申请实施例在用户终端登录到云虚拟机后,若用户通过虚拟化文件***实际访问的文件不是预测***预测到的目标文件,则可以同时通过两个并列的进程(进程1和进程2)分别执行下载操作,例如,进程1从NAS中下载用户实际访问的文件,进程2从NAS盘下载预测出的目标文件。
在用户使用云桌面过程中,预测功能还可以基于用户实际访问的文件重新预测该用户将会顺序访问的文件,云虚拟机通过进程2从NAS盘下载预测***最新预测出的目标文件。
基于与方法实施例同一发明构思,本申请实施例还提供了一种设备,用于执行上述方法实施例中云虚拟机执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图12所示,该设备包括处理单元1201以及传输单元1202。
处理单元1201,用于接收用户的登陆请求,并响应所述登陆请求预测所述用户登录到云虚拟机后可能访问的至少一个文件;所述处理单元1201可以为图4中的预测***,并执行该预测***在图8所述的实施例中的步骤805对应的方法。
传输单元1202,用于从远端存储设备中下载所述至少一个目标文件至所述云虚拟机。所述传输单元1202可以为图4中的配置文件应用程序,并执行图8所示的实施例中的步骤803、步骤804、以及步骤806对应的方法。
在一种可能的实施方式中,处理单元1201在响应所述登录请求时,可以获取所述用户的历史数据记录,根据所述用户的历史数据记录,预测所述用户登录所述云虚拟机后可能访问的至少一个文件,或处理单元1201在响应所述登录请求时;其中,所述历史数据记录记录了在云虚拟机接收到所述登陆请求之前,所述用户在所述云虚拟机中所访问的文件的记录。
在一种可能的实施方式中,处理单元1201在根据所述用户的历史数据记录,预测所述用户登录所述云虚拟机后可能访问的至少一个文件时具体用于,获取所述历史数据记录中记录的每个文件的多个参数值,其中每个参数值预设一个权重值;根据预设算法对所述多个参数及所述多个参数的预设权重值计算每个文件在用户登录所述云虚拟机后可能被访问的概率值;根据所述概率值确定所述至少一个目标文件。
在一种可能的实施方式中,所述处理单元具体用于:从所述历史数据记录中获取第一数据集合,所述第一数据集合为用户连续N次登陆所述云虚拟机时,每次所访问的第一个文件的集合;将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件;将所述第一预测模型输出的第一个文件及所述历史数据中记录的用户连续M次登陆所述云虚拟机时,每次顺序访问的多个文件构成第二数据集合;将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件;将所述第二个文件加入所述第二数据集合以更新所述第二数据集合;返回所述将所述第二数据集合输入第二预测模型的步骤,直到预测出用户登陆所述云虚拟机后可能访问的M个文件。
在一种可能的实施方式中,所述处理单元在将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件时,具体用于:控制所述第一预测模型确定所述第一数据集合中最后一个文件的至少一个关联文件,并确定所述最后一个文件与所述至少一个关联文件的关联度,并输出与所述最后一个文件关联度最高的关联文件;其中,所述第一数据集合中的文件按照被访问的时间由远及近进行排列,所述关联文件为所述第一数据集合中记录的用户在访问完与所述最后一个文件之后访问的文件;所述关联度,为所述第一预测模型根据所述关联文件与所述最后一个文件的间隔,和/或在所述第一数据集合中用户在访问完与所述最后一个文件之后访问所述关联文件的频率确定的。
在一种可能的实施方式中,所述处理单元在将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件时具体用于:控制所述第二预测模型确定所述第二数据集合中最后一个文件的至少一个关联文件,并确定所述最后一个文件与所述至少一个关联文件的关联度,并输出与所述最后一个文件关联度最高的关联文件,将输出的所述关联文件添加至所述第二数据集的尾端,使输出的所述关联文件为更新后的第二数据集的最后一个文件。其中,所述第二数据集合中的文件按照访问时间由远及近的顺序排列,所述关联文件为所述第二数据集合中记录的用户在访问完与所述最后一个文件相同的文件之后访问的文件;所述关联度,为所述第二预测模型根据所述关联文件与所述最后一个文件的间隔,和/或在所述第二数据集合中用户在访问完与所述最后一个文件相同的文件之后访问所述关联文件的频率确定的。
在一种可能的实施方式中,所述处理单元具体用于:
按照所述文件被访问的概率值从大到小的顺序,在所述用户的历史数据包含的多个文件标识中选择至少一个目标文件标识,将所述目标文件标识对应的文件作为所述用户登录所述云虚拟机后可能访问的文件;当侦测到历史数据记录符合预设条件时,则:将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件;将所述第一预测模型输出的第一个文件及所述历史数据中记录的用户连续M次登陆所述云虚拟机时,每次顺序访问的多个文件构成第二数据集合;将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件;将所述第二个文件加入所述第二数据集合以更新所述第二数据集合;返回所述将所述第二数据集合输入第二预测模型的步骤,直到预测出用户登陆所述云虚拟机后可能访问的M个文件;根据第一预测模型输出的所述用户登录所述云虚拟机后可能访问的第一个文件及第二预测模型输出的所述用户登录所述云虚拟机后可能访问的M个文件确定所述用户登录所述云虚拟机后可能访问的文件。
在一种可能的实施方式中,所述处理单元具体用于:生成一个预测请求,并将所述预测请求通过传输单元发送至一电子设备,所述预测请求用于指示所述电子设备对所述用户登录到云虚拟机后可能访问的至少一个文件进行预测;
通过传输单元接收所述电子设备所预测的所述电子设备对所述用户登录到云虚拟机后可能访问的至少一个文件。
与上述构思相同,如图13所示,本申请提供一种设备1300,设备1300可应用于上述图5、图6或图7所示场景中的云虚拟机上。
设备1300可包括处理器1301和存储器1302。进一步的,该装置还可包括通信接口1304,该通信接口可为收发器。进一步的,该装置还可包括总线***1303。
其中,处理器1301、存储器1302和通信接口1304可通过总线***1303相连,该存储器1302可用存储指令,该处理器1301可用于执行该存储器1302存储的指令,以控制通信接口1304接收或发送信号,完成上述图8所示方法中以云虚拟机主体的步骤。
其中,存储器1302可以集成在处理器1301中,也可以是与处理器1301不同的物理实体。
作为一种实现方式,通信接口1304的功能可以考虑通过收发电路或收发的专用芯片实现。处理器1301可以考虑通过专用处理芯片、处理电路、处理器或通用芯片实现。
作为另一种实现方式,可以考虑使用计算机的方式,来实现本申请实施例提供的第一计算节点或第一计算节点的功能。即将实现处理器1301和通信接口1304功能的程序代码存储在存储器1302中,通用处理器可通过执行存储器中的代码来实现处理器1301和通信接口1304的功能。
该设备1300所涉及的与本申请提供的技术方案相关的概念、解释和详细说明以及其他步骤,可参见前述方法或其它实施例中关于这些内容的描述,此处不作赘述。
在本申请的一示例中,所述设备1300可用于执行上述图8所示流程中,以云虚拟机为主体的步骤。比如,通信接口1304可以接收用户的登陆请求,以及从远端存储设备中下载所述至少一个目标文件至所述云虚拟机;处理器1301可以响应所述登陆请求预测所述用户登录到云虚拟机后可能访问的至少一个文件。
关于处理器1301和通信接口1304的介绍,可参见上述图8所示流程的介绍,在此不再赘述。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供的方法。该计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品中包括计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述任意一个或多个实施例提供的方法。
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所涉及的功能,例如获取或处理上述方法中所涉及的信息或者消息。可选地,该芯片还包括存储器,该存储器,用于存储处理器所执行的程序指令和数据。该芯片,也可以包含芯片和其他分立器件。
应理解,在本申请实施例中,处理器可以是中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,也可以是任何常规的处理器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。
该总线***除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (16)
1.一种基于云虚拟机的数据访问方法,其特征在于,包括:
云虚拟机接收用户的登陆请求,并响应所述登陆请求预测所述用户登录到云虚拟机后可能访问的至少一个文件;
所述云虚拟机从远端存储设备中下载所述至少一个文件至所述云虚拟机。
2.如权利要求1所述的方法,其特征在于,所述云虚拟机预测所述用户登录到云虚拟机后可能访问的至少一个文件,包括:
所述云虚拟机获取所述用户的历史数据记录,根据所述用户的历史数据记录,预测所述用户登录所述云虚拟机后可能访问的至少一个文件;所述历史数据记录记录了在云虚拟机接收到所述登陆请求之前,所述用户在所述云虚拟机中所访问的文件的记录。
3.如权利要求2所述的方法,其特征在于,所述根据所述用户的历史数据记录,预测所述用户登录所述云虚拟机后可能访问的至少一个文件,包括:
获取所述历史数据记录中记录的每个文件的多个参数值,其中每个参数值预设一个权重值;
根据预设算法对所述多个参数及所述多个参数的预设权重值计算每个文件在用户登录所述云虚拟机后可能被访问的概率值;
根据所述概率值确定所述至少一个文件。
4.如权利要求1所述的方法,其特征在于,所述根据所述用户的历史数据记录,预测所述用户登录所述云虚拟机后可能访问的至少一个文件,包括:
从所述历史数据记录中获取第一数据集合,所述第一数据集合为用户连续N次登陆所述云虚拟机时,每次所访问的第一个文件的集合;
将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件;
将所述第一预测模型输出的第一个文件及所述历史数据中记录的用户连续M次登陆所述云虚拟机时,每次顺序访问的多个文件构成第二数据集合;
将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件;
将所述第二个文件加入所述第二数据集合以更新所述第二数据集合;
返回所述将所述第二数据集合输入第二预测模型的步骤,直到预测出用户登陆所述云虚拟机后可能访问的M个文件。
5.如权利要求4所述的方法,其特征在于,所述将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件包括:
所述第一预测模型确定所述第一数据集合中最后一个文件的至少一个关联文件,并确定所述最后一个文件与所述至少一个关联文件的关联度;其中,所述第一数据集合中的文件按照被访问的时间由远及近进行排列,所述关联文件为所述第一数据集合中记录的用户在访问完与所述最后一个文件之后访问的文件;
所述第一预测模型输出与所述最后一个文件关联度最高的关联文件;
所述关联度,为所述第一预测模型根据所述关联文件与所述最后一个文件的间隔,和/或在所述第一数据集合中用户在访问完与所述最后一个文件之后访问所述关联文件的频率确定的。
6.如权利要求4所述的方法,其特征在于,所述将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件包括:
所述第二预测模型确定所述第二数据集合中最后一个文件的至少一个关联文件,并确定所述最后一个文件与所述至少一个关联文件的关联度;其中,所述第二数据集合中的文件按照访问时间由远及近的顺序排列,所述关联文件为所述第二数据集合中记录的用户在访问完与所述最后一个文件相同的文件之后访问的文件;
所述第二预测模型输出与所述最后一个文件关联度最高的关联文件;其中,所述关联度,为所述第二预测模型根据所述关联文件与所述最后一个文件的间隔,和/或在所述第二数据集合中用户在访问完与所述最后一个文件相同的文件之后访问所述关联文件的频率确定的;
所述第二预测模型将输出的所述关联文件添加至所述第二数据集的尾端,使输出的所述关联文件为更新后的第二数据集的最后一个文件。
7.如权利要求3所述的方法,其特征在于,所述预测所述用户登录所述云虚拟机后待访问的至少一个文件,包括:
按照所述文件被访问的概率值从大到小的顺序,在所述用户的历史数据包含的多个文件标识中选择至少一个目标文件标识,将所述目标文件标识对应的文件作为所述用户登录所述云虚拟机后可能访问的文件;
当侦测到历史数据记录符合预设条件时,则:
将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件;
将所述第一预测模型输出的第一个文件及所述历史数据中记录的用户连续M次登陆所述云虚拟机时,每次顺序访问的多个文件构成第二数据集合;
将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件;
将所述第二个文件加入所述第二数据集合以更新所述第二数据集合;
返回所述将所述第二数据集合输入第二预测模型的步骤,直到预测出用户登陆所述云虚拟机后可能访问的M个文件;
根据第一预测模型输出的所述用户登录所述云虚拟机后可能访问的第一个文件及第二预测模型输出的所述用户登录所述云虚拟机后可能访问的M个文件确定所述用户登录所述云虚拟机后可能访问的文件。
8.如权利要求1所述的方法,其特征在于,所述云虚拟机预测所述用户登录到云虚拟机后可能访问的至少一个文件,包括:
生成一个预测请求,并将所述预测请求发送至一电子设备,所述预测请求用于指示所述电子设备对所述用户登录到云虚拟机后可能访问的至少一个文件进行预测;
接收所述电子设备所预测的所述电子设备对所述用户登录到云虚拟机后可能访问的至少一个文件。
9.一种设备,其特征在于,该设备包括处理单元、传输单元:
所述处理单元,用于接收用户的登陆请求,并响应所述登陆请求预测所述用户登录到云虚拟机后可能访问的至少一个文件;
传输单元,从远端存储设备中下载所述至少一个文件至所述云虚拟机。
10.如权利要求9所述的设备,其特征在于,所述处理单元具体用于:
获取所述用户的历史数据记录,根据所述用户的历史数据记录,预测所述用户登录所述云虚拟机后可能访问的至少一个文件;所述历史数据记录记录了在云虚拟机接收到所述登陆请求之前,所述用户在所述云虚拟机中所访问的文件的记录。
11.如权利要求10所述的设备,其特征在于,所述处理单元在根据所述用户的历史数据记录,预测所述用户登录所述云虚拟机后可能访问的至少一个文件时,具体用于:
获取所述历史数据记录中记录的每个文件的多个参数值,其中每个参数值预设一个权重值;
根据预设算法对所述多个参数及所述多个参数的预设权重值计算每个文件在用户登录所述云虚拟机后可能被访问的概率值;
根据所述概率值确定所述至少一个文件。
12.如权利要求9所述的设备,其特征在于,所述处理单元具体用于:
从所述历史数据记录中获取第一数据集合,所述第一数据集合为用户连续N次登陆所述云虚拟机时,每次所访问的第一个文件的集合;
将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件;
将所述第一预测模型输出的第一个文件及所述历史数据中记录的用户连续M次登陆所述云虚拟机时,每次顺序访问的多个文件构成第二数据集合;
将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件;
将所述第二个文件加入所述第二数据集合以更新所述第二数据集合;
返回所述将所述第二数据集合输入第二预测模型的步骤,直到预测出用户登陆所述云虚拟机后可能访问的M个文件。
13.如权利要求12所述的设备,其特征在于,所述处理单元在将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件时,具体用于:
控制所述第一预测模型确定所述第一数据集合中最后一个文件的至少一个关联文件,并确定所述最后一个文件与所述至少一个关联文件的关联度,并输出与所述最后一个文件关联度最高的关联文件;
其中,所述第一数据集合中的文件按照被访问的时间由远及近进行排列,所述关联文件为所述第一数据集合中记录的用户在访问完与所述最后一个文件之后访问的文件;所述关联度,为所述第一预测模型根据所述关联文件与所述最后一个文件的间隔,和/或在所述第一数据集合中用户在访问完与所述最后一个文件之后访问所述关联文件的频率确定的。
14.如权利要求12所述的设备,其特征在于,所述处理单元在将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件时,具体用于:
控制所述第二预测模型确定所述第二数据集合中最后一个文件的至少一个关联文件,并确定所述最后一个文件与所述至少一个关联文件的关联度,并输出与所述最后一个文件关联度最高的关联文件,将输出的所述关联文件添加至所述第二数据集的尾端,使输出的所述关联文件为更新后的第二数据集的最后一个文件;
其中,所述第二数据集合中的文件按照访问时间由远及近的顺序排列,所述关联文件为所述第二数据集合中记录的用户在访问完与所述最后一个文件相同的文件之后访问的文件;所述关联度,为所述第二预测模型根据所述关联文件与所述最后一个文件的间隔,和/或在所述第二数据集合中用户在访问完与所述最后一个文件相同的文件之后访问所述关联文件的频率确定的。
15.如权利要求11所述的设备,其特征在于,所述处理单元具体用于:
照所述文件被访问的概率值从大到小的顺序,在所述用户的历史数据包含的多个文件标识中选择至少一个目标文件标识,将所述目标文件标识对应的文件作为所述用户登录所述云虚拟机后可能访问的文件;
当侦测到历史数据记录符合预设条件时,则:
将所述第一数据集合输入第一预测模型,以使所述第一预测模型根据所述第一数据集合进行预测,输出所述用户登录所述云虚拟机后可能访问的第一个文件;
将所述第一预测模型输出的第一个文件及所述历史数据中记录的用户连续M次登陆所述云虚拟机时,每次顺序访问的多个文件构成第二数据集合;
将所述第二数据集合输入第二预测模型,以预测用户登录所述云虚拟机后可能访问的第二个文件;
将所述第二个文件加入所述第二数据集合以更新所述第二数据集合;
返回所述将所述第二数据集合输入第二预测模型的步骤,直到预测出用户登陆所述云虚拟机后可能访问的M个文件;
根据第一预测模型输出的所述用户登录所述云虚拟机后可能访问的第一个文件及第二预测模型输出的所述用户登录所述云虚拟机后可能访问的M个文件确定所述用户登录所述云虚拟机后可能访问的文件。
16.如权利要求9所述的设备,其特征在于,所述处理单元具体用于:
生成一个预测请求,并将所述预测请求通过传输单元发送至一电子设备,所述预测请求用于指示所述电子设备对所述用户登录到云虚拟机后可能访问的至少一个文件进行预测;
通过传输单元接收所述电子设备所预测的所述电子设备对所述用户登录到云虚拟机后可能访问的至少一个文件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911205728.7A CN111158807A (zh) | 2019-11-29 | 2019-11-29 | 一种基于云虚拟机的数据访问方法及设备 |
PCT/CN2020/129865 WO2021104132A1 (zh) | 2019-11-29 | 2020-11-18 | 一种基于云虚拟机的数据访问方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911205728.7A CN111158807A (zh) | 2019-11-29 | 2019-11-29 | 一种基于云虚拟机的数据访问方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111158807A true CN111158807A (zh) | 2020-05-15 |
Family
ID=70556304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911205728.7A Pending CN111158807A (zh) | 2019-11-29 | 2019-11-29 | 一种基于云虚拟机的数据访问方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111158807A (zh) |
WO (1) | WO2021104132A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862099A (zh) * | 2021-03-12 | 2021-05-28 | 云知声智能科技股份有限公司 | 企业级神经网络模型处理方法、装置、电子设备和存储介质 |
WO2021104132A1 (zh) * | 2019-11-29 | 2021-06-03 | 华为技术有限公司 | 一种基于云虚拟机的数据访问方法及设备 |
CN113946853A (zh) * | 2021-10-29 | 2022-01-18 | 苏州浪潮智能科技有限公司 | 一种文件过滤方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7437438B2 (en) * | 2001-12-27 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for energy efficient data prefetching |
CN104137094A (zh) * | 2012-02-23 | 2014-11-05 | 微软公司 | 用于计算设备的内容预先取回 |
CN108418871A (zh) * | 2018-02-09 | 2018-08-17 | 国家电网公司 | 一种云存储性能优化方法和*** |
CN109214543A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 数据处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020310A (zh) * | 2017-12-05 | 2019-07-16 | 广东欧珀移动通信有限公司 | 资源加载的方法、装置、终端及存储介质 |
CN108710528B (zh) * | 2018-05-09 | 2023-02-28 | 深圳安布斯网络科技有限公司 | 桌面云虚拟机的访问、控制方法、装置、设备及存储介质 |
CN111158807A (zh) * | 2019-11-29 | 2020-05-15 | 华为技术有限公司 | 一种基于云虚拟机的数据访问方法及设备 |
-
2019
- 2019-11-29 CN CN201911205728.7A patent/CN111158807A/zh active Pending
-
2020
- 2020-11-18 WO PCT/CN2020/129865 patent/WO2021104132A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7437438B2 (en) * | 2001-12-27 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for energy efficient data prefetching |
CN104137094A (zh) * | 2012-02-23 | 2014-11-05 | 微软公司 | 用于计算设备的内容预先取回 |
CN109214543A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 数据处理方法及装置 |
CN108418871A (zh) * | 2018-02-09 | 2018-08-17 | 国家电网公司 | 一种云存储性能优化方法和*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021104132A1 (zh) * | 2019-11-29 | 2021-06-03 | 华为技术有限公司 | 一种基于云虚拟机的数据访问方法及设备 |
CN112862099A (zh) * | 2021-03-12 | 2021-05-28 | 云知声智能科技股份有限公司 | 企业级神经网络模型处理方法、装置、电子设备和存储介质 |
CN112862099B (zh) * | 2021-03-12 | 2023-11-07 | 云知声智能科技股份有限公司 | 企业级神经网络模型处理方法、装置、电子设备和存储介质 |
CN113946853A (zh) * | 2021-10-29 | 2022-01-18 | 苏州浪潮智能科技有限公司 | 一种文件过滤方法、装置、电子设备及存储介质 |
CN113946853B (zh) * | 2021-10-29 | 2024-01-30 | 苏州浪潮智能科技有限公司 | 一种文件过滤方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021104132A1 (zh) | 2021-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2488166C2 (ru) | Ориентируемая на обслуживание архитектура, основанная на конвейере | |
WO2019120037A1 (zh) | 模型构建方法、网络资源预加载方法、装置、介质及终端 | |
WO2021104132A1 (zh) | 一种基于云虚拟机的数据访问方法及设备 | |
US7882181B2 (en) | Minimizing data transfer from POP3 servers | |
US11010215B2 (en) | Recommending applications based on call requests between applications | |
US9372898B2 (en) | Enabling event prediction as an on-device service for mobile interaction | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
US11171845B2 (en) | QoS-optimized selection of a cloud microservices provider | |
CN109104336A (zh) | 服务请求处理方法、装置、计算机设备及存储介质 | |
TW201820165A (zh) | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 | |
CN109669985B (zh) | 在微服务环境中使用相关数据分配执行任务 | |
JP2013509658A (ja) | 将来の使用推量に基づく記憶メモリの割り当て | |
US9292341B2 (en) | RPC acceleration based on previously memorized flows | |
US10476768B2 (en) | Diagnostic and recovery signals for disconnected applications in hosted service environment | |
US10394633B2 (en) | On-demand or dynamic diagnostic and recovery operations in conjunction with a support service | |
US10015253B2 (en) | System and method for preemptive request processing | |
CN110417910B (zh) | 通知消息的发送方法、装置、服务器及存储介质 | |
US20200019560A1 (en) | Systems and methods for providing predictions to applications executing on a computing device | |
CN111885184A (zh) | 高并发场景下热点访问关键字处理方法和装置 | |
CN113434063B (zh) | 一种信息显示方法、装置及设备 | |
US11297156B1 (en) | System for processing data using distributed messaging system and data processing method thereof | |
CN111126604B (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN111913759A (zh) | 控制应用程序执行的方法、装置、计算设备和介质 | |
CN113408817B (zh) | 流量分发方法、装置、设备及存储介质 | |
CN114553786A (zh) | 网络请求熔断方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200515 |
|
RJ01 | Rejection of invention patent application after publication |