CN113535320B - 一种数据访问方法、装置、设备及存储介质 - Google Patents

一种数据访问方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113535320B
CN113535320B CN202010292383.XA CN202010292383A CN113535320B CN 113535320 B CN113535320 B CN 113535320B CN 202010292383 A CN202010292383 A CN 202010292383A CN 113535320 B CN113535320 B CN 113535320B
Authority
CN
China
Prior art keywords
sub
data
working process
identity information
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010292383.XA
Other languages
English (en)
Other versions
CN113535320A (zh
Inventor
张穗辉
陈晓帆
翟云箭
冯都升
古亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202010292383.XA priority Critical patent/CN113535320B/zh
Publication of CN113535320A publication Critical patent/CN113535320A/zh
Application granted granted Critical
Publication of CN113535320B publication Critical patent/CN113535320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据访问方法、装置、设备及存储介质;该方法包括:当获取到任务触发指令时,从任务触发指令中解析出虚拟机数据显示任务的身份信息;根据身份信息,从业务数据库中获取虚拟机数据显示任务的历史运行数据;通过运算节点对历史运行数据进行处理,得到虚拟机数据显示任务的数据信息;其中,数据信息表征虚拟机数据显示任务的运行指标;将数据信息写入至业务数据库中,以使终端能够从业务数据库中读取出所述数据信息。通过本发明,能够提升数据访问的响应速度。

Description

一种数据访问方法、装置、设备及存储介质
技术领域
本发明涉及云计算技术,尤其涉及一种数据访问方法、装置、设备及存储介质。
背景技术
在云计算中,用户可以通过网页来访问云计算所提供的云计算服务与数据存储服务,并利用这些服务,来对自身的业务数据进行分析、预测等,以使得用户在自身计算能力和存储能力有限的情况下,也可以对自身的业务数据进行存储与利用,例如,在云管理平台所管理的大量异构平台下虚拟机中,用户希望对某台特定的虚拟机的各项指标在未来的使用趋势进行预测等。
在云计算中,网页页面针对用户操作的响应具有性能要求的,即要求数据访问的页面响应要在一定的时延之内。例如,云管理平台在预测虚拟机的使用趋势时,需要利用与预测算法对虚拟机的历史数据进行运算,将运算出的使用趋势的各项指标显示在网页页面上。然而,在实际应用中,当用户操作涉及到时间复杂度高的算法时,页面响应的时延会增大,使得数据访问的响应速度较低。
发明内容
本发明实施例提供一种数据访问方法、装置、设备及存储介质,能够提升数据访问的响应速度。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种数据访问方法,应用于服务器,包括:所述服务器由多个分布式节点组成,在所述多个分布式节点中至少存在一个运算节点;
当获取到任务触发指令时,从所述任务触发指令中解析出虚拟机数据显示任务的身份信息;
根据所述身份信息,从业务数据库中获取所述虚拟机数据显示任务的历史运行数据;
通过所述运算节点对所述历史运行数据进行处理,得到所述虚拟机数据显示任务的数据信息;其中,所述数据信息表征所述虚拟机数据显示任务的运行指标;
将所述数据信息写入至所述业务数据库中,以使所述终端能够从所述业务数据库中读取出所述数据信息。
本发明实施例提供一种数据访问方法,应用于终端,包括:
接收用户的业务查询请求,并对所述业务查询请求进行解析,得到虚拟机数据显示任务的身份信息;
根据所述身份信息,从业务数据库中读取出所述虚拟机数据显示任务的数据信息;其中,所述数据信息是所述由服务器生成并写入至所述业务数据库的;
将所述数据信息呈现给所述用户,完成针对所述业务查询请求的数据访问。
本发明实施例提供一种数据处理装置,应用于服务器,包括:所述服务器由多个分布式节点组成,在所述分布式节点中至少存在一个运算节点;
解析模块,用于当获取到任务触发指令时,从所述任务触发指令中解析出虚拟机数据显示任务的身份信息;
获取模块,用于根据所述身份信息,从业务数据库中获取所述虚拟机数据显示任务的历史运行数据;
处理模块,用于通过所述运算节点对所述历史运行数据进行处理,得到所述虚拟机数据显示任务的数据信息;其中,所述数据信息表征所述虚拟机数据显示任务的运行指标;
写入模块,用于将所述数据信息写入至所述业务数据库中,以使所述终端能够从所述业务数据库中读取出所述数据信息。
本发明实施例提供一种数据访问装置,应用于终端,包括:
接收模块,用于接收用户的业务查询请求,并对所述业务查询请求进行解析,得到虚拟机数据显示任务的身份信息;
读取模块,用于根据所述身份信息,从业务数据库中读取出所述虚拟机数据显示任务的数据信息;其中,所述数据信息是所述由服务器生成并写入至所述业务数据库的;
呈现模块,用于将所述数据信息呈现给所述用户,完成针对所述业务查询请求的数据访问。
本发明实施例提供一种服务器,包括:
第一存储器,用于存储可执行数据访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行数据访问指令时,实现本发明实施例服务器侧提供的数据访问方法。
本发明实施例提供一种终端,包括:
第二存储器,用于存储可执行数据访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行数据访问指令时,实现本发明实施例终端侧提供的数据访问方法。
本发明实施例提供一种存储介质,存储有可执行数据访问指令,用于引起第一处理器执行时,实现本发明实施例服务器侧提供的数据访问方法;或者用于引起第二处理器执行时,实现本发明实施例终端侧提供的数据访问方法。
本发明实施例具有以下有益效果:
本发明实施例中,当服务器获取到任务触发指令时,从任务触发指令中解析出虚拟机数据显示任务的身份信息,从而根据身份信息,从业务数据库中获取虚拟机数据显示任务的历史运行数据,进而通过运算节点对历史运行数据进行处理,得到虚拟机数据显示任务的数据信息,最终将数据信息写入至业务数据库中,以使得终端根据从接收到从业务查询请求中解析出的身份信息,来读取数据信息并呈现。如此,能够将服务器与终端解耦,只需要终端直接从数据库中读取出服务器所处理得到的数据并显示给用户,提高了数据访问的响应速度。
附图说明
图1是本发明实施例提供的数据访问系统100的一个可选的架构示意图;
图2是本发明实施例提供的服务器200的结构示意图;
图3是本发明实施例提供的终端400的结构示意图;
图4是本发明实施例服务器侧提供的数据访问方法的一个可选的流程示意图一;
图5是本发明实施例服务器侧提供的数据访问方法的一个可选的流程示意图二;
图6是本发明实施例服务器侧提供的数据访问方法的一个可选的流程示意图三;
图7是本发明实施例提供的分布式节点的示意图;
图8是本发明实施例提供的在新的运算节点中创建新节点工作进程的示意图;
图9是本发明实施例终端侧提供的数据访问方法的一个可选的流程示意图;
图10是本发明实施例终端侧提供的数据访问方法的一个可选的交互示意图。
图11是本发明实施例提供的数据访问过程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)分布式系统,是指由一组通过网络进行通信,为了共同完成任务而协调工作的计算机组成的系统。在分布式系统中,每个计算机都是一个节点,这些节点可以提供存储服务或是计算服务,以使得分布式系统能够针对需求来进行工作。
2)微服务,是指一种软件架构行驶,其以专注于单一责任与功能的小型功能模块为基础,且各个功能模块之间使用与语言无关的API来相互通信,从未使得微服务里利用模块化的方式组合出复杂的大型程序。
3)虚拟机,是一种特殊的软件,其可以在计算机和终端用户之间创造一种环境,使得终端用户可以在利用虚拟机所创建的环境中来操作其他软件。换句话说,虚拟机可以看作是计算机系统的仿真器,其通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,进而提供物理计算的功能。
4)时间序列分析,是指一种动态数据处理的统计方法,该方法基于随机过程理论和统计学方法,研究随机数据序列所遵从的统计规律,以便于解决实际问题。
5)应用程序接口(Application Programming Interface,API),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节。
6)横向扩展,是指依靠增加处理器来提升运算能力和增加独立服务器来增加运算能力。横向扩展可以根据需求增加不同的服务器和存储应用,依靠多部服务器、存储协同运算,借助附在平衡及容错等功能来提高运算能力及可靠度。
7)纵向扩展,是以增加处理器等运算资源来获得对应用性能的要求。
8)一致性哈希,是一种特殊的哈希算法,其哈希表槽位大小的改变平均只需要对K/n个关键字重新映射,其中,K是关键字的数量,n是槽位数量,而在传统的哈希表中,添加或删除一个槽位需要对所有关键字进行重新映射。一致性哈希也可用于实现健壮缓存来减少大型Web应用中系统不符失效带来的负面影响。
9)进程,是指计算机中已运行的呈现。进程是应用呈现的真正运行实例,若干进程可能与同一个呈现相关性,且每个进程皆可以以同步(循步)或异步(平行)的方式独立运行。在现代计算机进程中,进程可以在同一时间段内以进程的形式将多个应用程序加载到存储器中,并借由时间共享(或时分复用)在一个处理器表现出平行运行的感觉。
本发明实施例提供一种数据访问方法、装置、设备和存储介质,能够提升数据访问的响应速度。下面说明本发明实施例提供的数据访问设备的示例性应用,本发明实施例提供的数据访问设备可以实施为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,也可以实施为服务器。下面,将说明数据访问设备分别实施终端和服务器时示例性应用。
参见图1,图1是本发明实施例提供的数据访问系统100的一个可选的架构示意图,为实现支撑一个数据访问应用,终端400通过网络300连接业务数据库500,同时服务器200也通过网络300连接业务数据库500,网络300可以是广域网或者局域网,又或者是二者的组合。其中,服务器200是由多个分布式节点组成的,在多个分布式节点中至少存在一个运算节点。
当服务器200获取到任务触发指令时,会根据任务触发指令获取虚拟机数据显示任务的身份信息,接着,服务器200会根据身份信息,从业务数据库500中获取虚拟机数据显示任务的历史运行数据。在得到历史运行数据之后,服务器200会通过运算节点对历史运行数据进行处理,得到虚拟机数据显示任务的数据信息,其中,数据信息表征虚拟机数据显示任务的运行指标。之后,服务器200将数据信息写入至业务数据库500中,以使得终端400可以从业务数据库500中读取出数据信息。终端400接收用户的业务查询请求,然后对业务查询请求进行解析,从中得到虚拟机数据显示任务的身份信息。接着,终端400根据身份信息,从业务数据库中读取出虚拟机数据显示任务的数据信息,这里的数据信息是由服务器200生成并写入至业务数据库500的。最后,终端400将数据信息呈现给用户,以完成针对业务查询请求的数据访问。
参见图2,图2是本发明实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个第一处理器210、第一存储器250、至少一个第一网络接口220和第一用户接口230。服务器200中的各个组件通过第一总线系统240耦合在一起。可理解,第一总线系统240用于实现这些组件之间的连接通信。第一总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为第一总线系统240。
第一处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口230包括使得能够呈现媒体内容的一个或多个第一输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230还包括一个或多个第一输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Rea d Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Acc ess Memory)。本发明实施例描述的第一存储器250旨在包括任意适合类型的存储器。第一存储器250可选地包括在物理位置上远离第一处理器210的一个或多个存储设备。
在一些实施例中,第一存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块252,用于经由一个或多个(有线或无线)第一网络接口220到达其他计算设备,示例性的第一网络接口220包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第一显示模块253,用于经由一个或多个与第一用户接口230相关联的第一输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块254,用于对一个或多个来自一个或多个第一输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的数据处理装置可以采用软件方式实现,图2示出了存储在第一存储器250中的数据处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:解析模块2551、获取模块2552、处理模块2553、写入模块2554和进程创建模块2555,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的数据处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的数据处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的数据访问方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Progra mmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmabl e Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
示例性的,本发明实施例提供一种服务器,包括:
第一存储器,用于存储可执行数据访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行数据访问指令时,实现本发明实施例服务器侧提供数据访问方法。
参见图3,图3是本发明实施例提供的终端400的结构示意图,图3所示的终端400包括:至少一个第二处理器410、第二存储器450、至少一个第二网络接口420和第二用户接口430。终端400中的各个组件通过第二总线系统440耦合在一起。可理解,第二总线系统440用于实现这些组件之间的连接通信。第二总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为第二总线系统440。
第二处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第二用户接口430包括使得能够呈现媒体内容的一个或多个第二输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。第二用户接口430还包括一个或多个第二输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第二存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Rea d Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Acc ess Memory)。本发明实施例描述的第二存储器450旨在包括任意适合类型的存储器。第二存储器450可选地包括在物理位置上远离第二处理器410的一个或多个存储设备。
在一些实施例中,第二存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第二操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第二网络通信模块452,用于经由一个或多个(有线或无线)第二网络接口420到达其他计算设备,示例性的第二网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第二显示模块453,用于经由一个或多个与第二用户接口430相关联的第二输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第二输入处理模块454,用于对一个或多个来自一个或多个第二输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的数据访问装置可以采用软件方式实现,图3示出了存储在第二存储器450中的数据访问装置455,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块4551、读取模块4552和呈现模块4553,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的数据访问装置可以采用硬件方式实现,作为示例,本发明实施例提供的数据访问装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的数据访问方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Progra mmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmabl e Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
示例性的,本发明实施例提供一种终端,包括:
第二存储器,用于存储可执行数据访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行数据访问指令时,实现本发明实施例终端侧提供数据访问方法。
下面,将说明本发明实施例服务器侧提供的数据访问方法。参见图4,图4是本发明实施例服务器侧提供的数据访问方法一个可选的流程示意图一,将结合图4的步骤进行说明。
S101、当服务器获取到任务触发指令时,从任务触发指令中解析出虚拟数据显示任务的身份信息。
本发明实施例是在用户查询虚拟数据显示任务的某种运行指标的场景下进行的,例如,用户需要查询其所拥有的虚拟机的在未来的使用情况等。在本发明实施例中,用户查询虚拟数据显示任务的运行指标的过程可以分成服务器(即后端)预计算出虚拟数据显示任务的运行指标并写入业务数据库,以及当终端(即前端)接收到查询需求时从业务数据库获取运行指标并呈现给用户两部分。换句话说,本发明实施例是将后端与前端解耦。
进一步的,本步骤属于服务器预计算出虚拟机数据显示任务的运行指标并写入业务数据库这一过程。当服务器接收到任务触发指令时,表明服务器在当前需要开对某个虚拟机数据显示任务的运行指标进行预测,此时,服务器会先从对任务触发指令进行解析,得到虚拟机数据显示任务的身份信息,根据该身份信息明确需要对哪个虚拟机数据显示任务进行预测。需要说明的是,本发明实施例中的服务器是由多个分布式节点组成的,在多个分布式节点中至少存在一个运算节点。
可以理解的是,本发明实施例中,虚拟机数据显示任务属于服务器所需要管理的多个数据显示任务中的任意部分,例如,当服务器管理大量虚拟机时,虚拟机数据显示任务就为这些虚拟机中的一个或几个。当虚拟机数据显示任务包含有多个计算任务时,虚拟机数据显示任务的身份信息中也会相应的包含每个计算任务所对应的子身份信息。
需要说明的是,服务器所需要管理的每个任务都具有与其唯一对应的身份信息,这种身份信息可以是由服务器给任务分配的ID,也可以是由各个用户为其所对应的任务所确定的标识,本发明实施例在此不作限定。
S102、服务器根据身份信息,从业务数据库中获取虚拟机数据显示任务的历史运行数据。
服务器在解析出身份信息之后,就可以依据身份信息,从存储有各个任务的业务数据库中读取出该身份信息在当前时间点之前的所有数据,这些数据就是历史运行数据。
需要说明的是,业务数据库可以理解是布置在独立的数据服务器上的,这个数据服务器能分别与服务器和终端进行通信,即服务器和终端各自都能与数据服务器进行交互,达到从业务数据库中读取数据或是向业务数据库写入数据的过程,从而实现将前端与后端解耦。
可以理解的是,历史运行数据中包括有各个任务在历史时刻的运行情况,例如,当任务为服务器所管理的虚拟机的未来使用趋势时,历史运行数据为虚拟机在历史事件的运算能力指标、CPU的使用率等。
在本发明的一些实施例中,业务数据库中可以将身份信息与历史运行数据对应存储,例如,将身份信息作为键,将历史运行数据作为值进行存储,以使得只要知晓身份信息,就可以检索到对应的历史运行数据。
S103、服务器通过运算节点对历史运行数据进行处理,得到虚拟机数据显示任务的数据信息;其中,数据信息表征虚拟机数据显示任务的运行指标。
服务器在得到虚拟机数据显示任务的历史运行数据之后,就可以通过分布式节点中的运算节点来获取预先设计好的预测算法,然后通过运算节点预测算法来对虚拟机数据显示任务的历史运行数据进行计算,计算所得到的结果即为虚拟机数据显示任务的运行指标,也就是数据信息。可以理解的是,本步骤中分布式节点中的运算节点,可以是服务器在开始预计算虚拟机数据显示任务的运行指标之前就确定好的,即服务器事先从多个分布式节点中选择出了至少一个运算节点。
需要说明的是,在实际应用中,用户需要会从服务器查询其所具有的业务的各个预测指标,以了解其所具有的各个业务的各种的运行指标。但是,计算运行指标通常所需要的时间较长,若在接收到用户的查询需求再计算运行指标,会使得用户的等待时间较长,影响用户的体验。因此,服务器可以根据用户的查询习惯等,例如查询周期等,来为各个任务设置运算周期,即将用户需要查询的任务设置为周期性任务,按照一定的周期事先运算好用户所要查询的运行指标,以便于后续用户在查询任务的运行指标时,可以直接获取运行指标,以减少用户的等待时间,提供数据访问的响应速度。
可以理解的是,本发明实施例中,数据信息中可以包含各种运行指标,例如,CPU的使用率,剩余的运算能力等,具体数据信息中所包含的运行指标是可以根据不同用户的查询习惯来确定的,本发明实施例在此不作限定。
进一步的,周期性任务的周期,也是可以根据用户的查询习惯进行设定的,本发明实施例在此也不作限定。
可以理解的是,本发明实施例中所使用的预测算法,可以是能够达到预测目标的任意算法,例如,深度神经网络、逻辑回归等,本发明实施例在此不作限定。
S104、服务器将数据信息写入至业务数据库中,以使终端能够从业务数据库中读取出数据信息。
服务器在预测出数据信息之后,就可以将数据信息写入到业务数据库中,以将数据信息存储在业务数据库中,以便于后续终端能够从业务数据库中直接读取出数据信息,并呈现给用户,以减少用户在查询虚拟机数据显示任务的运行指标时的等待时间,提供数据访问的响应速度。至此,本发明实施例服务器侧提供的数据访问方法就结束了。
可以理解的是,服务器在将数据信息写入业务数据库时,是将数据信息与虚拟机数据显示任务的身份信息进行对应存储,这样,只要终端知晓了虚拟机数据显示任务的身份信息,就能够得到数据信息。
本发明实施例中,当服务器获取到任务触发指令时,从任务触发指令中解析出虚拟机数据显示任务的身份信息,从而根据身份信息,从业务数据库中获取虚拟机数据显示任务的历史运行数据,进而通过运算节点对历史运行数据进行处理,得到虚拟机数据显示任务的数据信息,最终将数据信息写入至业务数据库中,以使的终端根据从接收到从业务查询请求中解析出的身份信息,来读取数据信息并呈现。如此,能够将服务器与终端解耦,只需要终端直接从数据库中读取出服务器所处理得到的数据并显示给用户,提高了数据访问的响应速度。
在本发明的一些实施例中,运算节点中运行有至少一个工作进程;服务器通过运算节点对历史运行数据进行处理,得到待预测任务的数据信息,即S103的具体实现过程,可以包括:S1031-S1033,如下:
S1031、服务器根据运算节点中的至少一个工作进程中每个工作进程的标识信息,从历史运行数据中筛选出与每个工作进程一一对应的子运行数据。
在对虚拟机数据显示任务的运行指标进行预计算之前,服务器就通过运算节点的管理进程,在运算节点中创建了至少一个进程,以利用这些进程来执行预测过程中的具体计算任务,这些进程即是工作进程。换句话说,在数据访问过程中,运算节点中已经运行有至少一个工作进程。由于每个工作进程在其创建之初,服务器就已经通过运算节点中的管理进程为其分配了需要承担的计算任务,也即建立了每个工作进行的标识信息,与计算任务之间的对应关系。而每个计算任务都对应有自己的子运行数据,因而,服务器可以根据每个工作进程的标识,从历史运行数据中来为每个工作进程筛选出与其对应的子运行数据。
可以理解的是,子运行数据指的是历史运行数据的子集,例如,当历史运行数据为某个虚拟机的在历史时间的CPU使用情况,以及空间存储情况时,子运行数据可以指的是该虚拟机的CPU使用情况;当历史运行数据为多个虚拟机在历史时间的CPU使用情况时,子运行数据可以是指某个虚拟机的CPU使用情况。
S1032、服务器通过每个工作进程对其所对应的子运行数据进行处理,得到每个工作进程的预测子结果。
服务器通过每个工作进程,来为其自身调用预测算法,然后将的子运行数据输入至与其所对应的工作进程所调用的预测算法之中,此时,每个工作进程所调用的预测算法的输出结果,就是每个工作进程所计算出的预测子结果。
可以理解的是,每个工作进程只是对分配给其的计算任务进行运算,因此,所得到的预测子结果必然也只是其所对应的计算任务的。
S1033、服务器利用预测子结果组成数据信息。
服务器的每个工作进程完成预测运算之后,服务器会将所有工作进程所计算出的预测子结果收集起来,然后将这些预测子结果整合起来,得到与虚拟机数据显示任务所对应的预测信息。
本发明实施例中,服务器能够根据运算节点中的每个工作进程的标识信息,从历史运行数据中为每个工作进程筛选出子运行数据,接着通过每个工作进程对其所对应的子运行数据进行处理,得到每个工作进程的预测子结果,进而由预测子结果组成数据信息。如此,服务器就可以通过所创建的各个工作进程,完成对虚拟机数据显示任务的预测过程。
在本发明的一些实施例中,身份信息包括至少一个子身份信息;服务器根据身份信息,从业务数据库中获取虚拟机数据显示任务的历史运行数据,即S102的具体实现过程,可以包括:S1021-S1022,如下:
S1021、服务器根据每个子身份信息,从业务数据库中获取到每个子身份信息相对应的子运行数据。
虚拟机数据显示任务中的每个计算任务都对应有自己的子身份信息,因而,服务器在从业务数据库中获取虚拟机数据显示任务的历史运行数据时,实际上是根据每个计算任务的子身份信息,从业务数据库来获取与子身份信息一一对应的子运行数据。
可以理解的是,由于服务器通过运算节点的管理进程,在每个工作进程在创建时,都为分配了计算任务,也即确定了子身份信息与工作进程的标识信息的对应关系,而子运行数据与子身份信息之间也是有对应关系的,因而,工作进程的标注信息、子身份信息和子运行数据三者之间是一一对应的。
S1022、服务器利用子运行数据组成历史运行数据。
服务器在得到所有工作进程所对应的子运行数据之后,就可以将这些子运行数据组合起来,将最终的组合结果作为历史运行数据,以便于后续利用历史运行数据进行虚拟机数据显示任务的预测。
本发明实施例中,服务器能够根据身份信息中的子身份信息,从业务数据库中获取到与每个子身份信息对应的子运行数据,进而利用子运行数据组成历史运行数据。如此,服务器就完成了对历史运行数据的获取过程。
参见图5,图5是本发明实施例服务器侧提供的数据访问方法的一个可选的流程示意图二。在本发明的一些实施例中,服务器根据运算节点中的至少一个工作进程中的每个工作进程的标识信息,从历史运行数据中筛选出与每个工作进程一一对应的子运行数据之后,服务器通过每个工作进程对其所对应的子运行数据进行处理,得到每个工作进程的预测子结果之前,即S1031之后,S1032之前,该方法还可以包括:S1034-S1036,如下:
S1034、服务器获取每个工作进程的子预测时间,并对子预测时间进行整合得到总预测时间;子预测时间表征工作进程完成对子运行数据的处理所需要的时间。
服务器在筛选出子运行数据之后,在开始对子运行数据进行计算之前,还需要先评估通过已有的运算节点中的每个工作进程,完成对虚拟机数据显示任务中与其对应的计算任务所所需要的时间,然后,服务器获取所得到的子预测时间,进而对子预测时间进行整合得到总预测时间,以根据总预测时间来确定是不是要加入新的工作进程来参与到虚拟机数据显示任务中来。
可以理解的是,子预测时间表征工作进程完成对子运行数据的处理所需要的时间,每个工作进程对应有一个子预测时间,当某个工作进程对应的子预测时间较长时,说明这个工作进程的运算负载较重,反之,当某个工作进程对应的子预测时间较短时,说明这个工作进程的运算负载较轻。
需要说明的是,总预测时间是由各个子预测时间整合而来的,能够在整体上反应虚拟机数据显示任务的运算负载情况,服务器需要根据虚拟机数据显示任务的运算负载情况,在后续判断是否开辟新的工作进程。
在本发明实施例中,由于各个工作进程是并行处理的,因此,子预测时间会具有重叠的部分,例如,某个工作进程的子预测时间为从12:00开始至13:00结束,而另一个工作进程的子预测时间为从12:00开始至12:40分结束,因此,服务器在计算总预测时间时,可以是对各个子预测时间求平均,将所得到的均值结果作为总预测时间。
S1035、当总预测时间超过第一时间阈值时,通过运算节点的管理进程,在运算节点中创建出新的工作进程;其中,第一时间阈值表征已有的工作进程的总运算时间阈值。
服务器在计算出总预测时间之后,就可以将总预测时间与预设好的第一时间阈值进程比较,当比较结果表明总预测时间超过第一时间阈值时,说明针对虚拟机数据显示任务的运算负载已经较大,此时,服务器需要通过运算节点中的管理进程来创建新的工作进程,以使服务器能够利用新的工作进程来减轻已有的工作进程的运算负载压力。
S1036、服务器通过管理进程从身份信息中选择出第一子身份信息,并将第一子身份信息分配给新的工作进程,以使新的工作进程依据第一子身份信息获取到与其对应的第一子运行数据。
服务器在完成对新的工作进程的创建之后,还需要给新的工作进程来分配其所需要执行的计算任务。此时,服务器通过管理进程从身份信息中选择出部分子身份信息,作为第一子身份信息,然后将第一子身份信息分配给新的工作进程,这样,新的工作进程就明确了其所需要承担的计算任务,从而在后续可以依据第一子身份信息来取得第一子运行数据。进一步的,在后续服务器通过每个工作进程对其所对应的子运行数据进程预测,得到每个工作进程的子预测结果的过程,即S1032的具体过程,就会相应的变为S10321:通过每个工作进程对除第一子运行数据之外的其他子运行数据进行处理,通过新的工作进程对第一子运行数据进行处理,得到子预测结果。
需要说明的是,本发明实施例中,由于身份信息中所包含的子身份信息是确定的,服务器将第一子身份信息分配给了新的工作者进程的同时,会解除已有的工作进程与第一子身份信息的对应关系,这时,已有的工作进程所负责的计算任务的数量就会减少,也就减少了已有的工作进程的子预测时间,进而使得总预测时间减少。
本发明实施例中,服务器能够获取每个工作进程的子预测时间,并对子预测时间进行整合得到总预测时间,当总预测时间超过预设第一时间阈值时,通过运算节点的管理进程,在运算节点中创建出新的工作进程,并通过管理进程从身份信息中选择出第一子身份信息,并将第一子身份信息分配给新的工作进程。如此,服务器就通过开辟新的工作进程,来减轻已有的工作进程的计算负担,从而进一步提高了数据访问的效率。
基于图5,参见图6,图6是本发明实施例服务器侧提供的数据访问方法的一个可选的流程示意图三。服务器在获取每个工作进程对子运行数据的子预测时间,并对子预测时间进行整合得到总预测时间之后,即S1034之后,该方法还可以包括:S1037-S1039,如下:
S1037、当总预测时间超过预设第二时间阈值时,服务器在多个分布式节点中选择空闲节点作为新的运算节点;第二时间阈值表征单个运算节点的运算时间阈值。
在本发明实施例中,在服务器的多个分布式节点中,有一些节点是承担了计算任务的节点,即为运算节点,而另一些节点可能是空闲的节点。在这时,服务器可以将总预测时间与第二时间阈值进程比较,当服务器发现总预测时间超过第二时间阈值时,就会在所有的分布式节点中选择出一个空闲节点,作为新的运算节点,以利用新的运算节点来分担已有的运算节点的运算负载。
可以理解的是,第二时间阈值表征了单个运算节点所能承受的运算负载阈值,即当总预测时间超过第二时间阈值时,就表明运算节点的运算负载压力较大,需要较长的时间才能够完成预测任务。
需要说明的是,第二时间阈值是可以根据实际情况进行设定的,例如,将第二时间阈值设置为5s,或是10s等,本发明实施例在此不作具体限制。
示例性的,本发明实施例提供了分布式节点的示意图,参见图7,在服务器7-1中,具有节点7-11、节点7-12和节点7-13,这些节点中,节点7-11和7-12承担了计算任务,为运算节点,进一步的,在节点7-11中,具有由管理进程7-111所创建出的工作进程7-112,例如进程7-1121、进程7-1122、进程7-1123和进程7-1124;在节点7-12中,具有由管理进程7-121创建的工作进程7-122,例如,进程7-1221、进程7-1222和进程7-1223。节点7-13没有承担计算任务,因此,节点7-13为空闲节点,其管理进程7-131还没有创建工作进程。
S1038、服务器通过新的运算节点的管理进程,在新的运算节点中创建出新节点工作进程。
服务器在选择出新的运算节点之后,就会通过新的运算节点的管理进程,在该运算节点中创建工作进程,并将所创建出的新工作进程记为新节点工作进程,以便于后续利用所创建出的新节点工作进程,来承担具体的计算任务。
S1039、服务器通过新的运算节点的管理进程,从身份信息中选择出第二子身份信息,并将第二子身份信息分配给新节点工作进程,以使新节点工作进程依据第二子身份信息获取到与其对应的第二子运行数据。
服务器通过新的运算节点的管理进程创建出新节点工作进程之后,就会紧接着利用新的运算节点中的管理进程,来为这些新节点工作进程分配具体的计算任务。此时,新的运算节点的管理进程会从身份信息中选择出一部分子身份信息,将这部分子身份信息作为第二子身份信息,分配给新节点工作进程,之后,服务器会通过已有的运算节点中的管理进程,将已有运算节点的工作进程中的第二子身份信息删除,使得在后续只通过新节点工作进程负责第二子身份信息的对应的第二子运行数据进行运算即可。在这之后,服务器通过每个工作进程对其所对应的子运行数据进行预测,得到每个工作进程的预测子结果,即S1032的过程就会相应的变为S10322:通过每个工作进程对除第二子运行数据之外的其他子运行数据进行处理,以及通过新节点工作进程对第二子运行数据进程处理,得到子预测结果。
需要说明的是,本发明实施例中,S1035-S1036的过程与S1037-S1039的过程可以是在S1034之后可选的两个实现过程,具体S1034之后的实现过程可以根据实际需求进行选择。
示例性的,本发明实施例提供了在新的运算节点中创建新节点工作进程的示意图,参见图8,节点8-A为已有的运算节点,节点8-B为空闲节点,原本子身份信息8-C1、子身份信息8-C2、子身份信息8-C3和子身份信息8-C4所对应的子运行数据,分别是由节点8-A中的工作进程8-A1和工作进程8-A2进行运算。当总预测时间超过第二时间阈值时,服务器会将节点8-B作为新的运算节点,然后在利用节点8-B中的管理进程创建出工作进程8-B1和工作进程8-B2,并通过节点8-B中的管理进程将子身份信息8-C3和子身份信息8-C4,分别分配给工作进程8-B1和工作进程8-B2,以使得工作进程8-B1来负责对子身份信息8-C3对应的子运行数据进行计算,工作进程8-B2来负责对子身份信息8-C4对应的子运行数据进行计算。
本发明实施例中,服务器发现总预测时间超过第二时间阈值时,会在分布式节点中选择空闲节点作为新的运算节点,并通过新的运算节点的管理进程,在新的运算节点中创建出新节点工作进程,进而通过新的运算节点的管理进程,从身份信息中选择出第二子身份信息,并将第二子身份信息分配给新节点工作进程。如此,服务器就可以在后续通过新节点工作进程来对减轻已有的运算节点的运算负载压力,从而进一步提高了数据访问的效率。
在本发明的一些实施例中,服务器通过新的运算节点的管理进程,在新的运算节点中创建新节点工作进程,即S1038的具体实现过程,可以包括:S1038a-S1038c,如下:
S1038a、服务器通过新的运算节点的管理进程,创建出新节点工作进程。
S1038b、服务器通过新节点工作进程,为其自身创建新工作进程标识。
服务器先通过新的运算节点的管理进程,创建出新节点工作进程,然后再通过所创建出的每个新节点工作进程,生成新工作进程标识,也即通过每个新节点工作进程为其自身创建出独有的新工作进程标识,以便于利用此进程标识来区分每个新节点工作进程。
S1038c、服务器在缓存中对新工作进程标识进行注册,从而完成新节点工作进程的创建。
服务器在得到每个新节点工作进程所对应的新工作进程标识之后,就会在缓存中对这些新工作进程标识进行注册,在注册之后,服务器就完成了新节点工作进程的创建过程。
可以理解的是,在本发明的另一些实施例中,服务器可以利用创建哈希环的方式来对新工作进程标识进行注册,即将新工作进程标识加入到哈希环中,以便于利用这些新节点工作进程来承担周期性任务。
本发明实施例中,服务器能够通过新的运算节点的管理进程,创建出新节点工作进程,然后通过新节点工作进程,为其自身创建新工作进程标识,最后在缓存中对创建出的新工作进程标识进行注册,完成对新节点工作进程的创建过程。如此,服务器就能够创建出新节点工作进程,以便于后续利用新节点工作进程来减轻已有运算节点的运算负载压力。
在本发明的一些实施例中,服务器通过每个工作进程对其所对应的子运行数据进行处理,得到每个工作进程的预测子结果,即S1032的具体实现过程,可以包括:S1032a-S1032d,如下:
S1032a、服务器获取每个工作进程对应的子身份信息的优先级。
服务器在通过每个工作进程预测其所对应的子运行数据时,会先从自身的存储空间中获取训练好的优先级模型,然后将每个工作进程的子身份信息所对应的特征数据,例如,查询周期、查询时长等,都输入进训练好的优先级模型中,计算出每个子身份信息的优先级,之后,服务器会获取这些子身份信息的优先级,以便于后续利用优先级来确定先对哪些子运行数据进行处理。
需要说明的是,由于不同的用户的查询任务的习惯不同,有些用户查询的较为频繁,有些用户查询的则不那么频繁,并且,不同的计算任务中各个特征类型的取值不同,例如,有些计算任务中资源池较大、资源消耗情况也较多等,因此,服务器需要根据用户的查询习惯,以及计算任务的本身的特征类型的取值,来判断每个计算任务的优先程度,从而判断出每个计算任务对应的子身份信息的优先级,进而根据按照优先程度,来对各个子身份信息对应的子运行数据进行预测,以使得优先级高的子身份信息的子运行数据先被处理。
可以理解的是,优先级模型可以是监督式的回归算法,例如,随机森林、线性回归等,也可以是其他能够达到相同目的的算法,本发明实施例在此不作限定。
进一步的,服务器在训练优先级模型时,会通过终端来采集用户的行为记录,例如,用户对不同查询次数和查询时长,以及针对不同计算任务构造资源池、资源消耗情况、硬件配置、软件版本等各个维度的特征,从而根据这些特征以及用户的行为记录构造训练数据,进而用训练数据来对优先级模型进行训练,得到训练好的优先级模型。
S1032b、服务器通过每个工作进程,对优先级高于或等于预设好的优先级阈值的子身份信息所对应的子运行数据进行处理,得到第一优先子预测结果。
S1032c、服务器通过每个工作进程,对优先级低于预设好的优先级阈值的子身份信息所对应的子运算数据进行处理,得到第二优先子预测结果。
服务器在得到子运行数据的优先级之后,就可以先通过每个工作进程,对与其所对应的子运行数据中的优先级较高的子运行数据进行预测处理,即先对优先级高于或等于预设好的优先级阈值的子运行数据进行运算。若是服务器将高于或等于预设的优先级阈值的优先级作为第一优先级,则此次运算预测所得到的就是第一优先子预测结果。之后,服务器通过每个工作进程,再对其所要计算的所有子运行数据中优先级低于预设好的优先级阈值的子运算数据进行预测,此次所得到的子预测结果,即为第二优先子预测结果。
S1032d、服务器利用第一优先子预测结果和第二优先子预测结果,整合出子预测结果。
服务器在得到第一优先子预测结果和第二优先子预测结果之后,就可以对第一优先子预测结果和第二优先子预测结果进行整合,整合所得到的结果即为最终的子预测结果。
本发明实施例中,服务器能够获取到利用训练好的优先级模型所计算出的子运行数据的优先级,然后通过每个工作进程,对优先级高于或等于优先级阈值的子运行数据进行预测,得到第一优先子预测结果,之后再通过每个工作进程,对优先级低于预设好的优先级阈值的子运算数据进行预测,得到第二优先子预测结果,最后,服务器将第一优先子预测结果和第二优先子预测结果整合出子预测结果。
下面,将说明本发明实施例终端侧提供的数据访问方法的一个可选的流程示意图。参见图9,图9是本发明实施例终端侧提供的数据访问方法一个可选的示意图四,将结合图9的步骤进行说明。
S201、终端接收用户的业务查询请求,并对业务查询请求进行解析,得到虚拟机数据显示任务的身份信息。
终端接收用户所触发的业务查询请求,紧接着就会对业务查询请求进行解析,从中获取到用户所要查询的虚拟机数据显示任务的身份信息。可以理解的是,用户可以通过显示界面、命令行等来触发业务查询请求,例如,在终端提供给用户的管理页面上通过点击“预测”按钮,来触发业务查询命令。
S202、终端根据身份信息,从业务数据库中读取出虚拟机数据显示任务的数据信息;其中,数据信息是由服务器生成并写入至业务数据库的。
由于服务器在写入数据信息时,是将数据信息和身份信息对应起来的,因而,终端在得到身份信息之后,就可以直接根据身份信息从业务数据库中寻找到数据信息,并把数据信息读取出来,以便于后续将数据信息呈现给用户。
S203、终端将数据信息呈现给用户,完成针对业务查询请求的数据访问。
终端将数据信息显示在其显示界面上,使得用户可以从显示界面上获知虚拟机数据显示任务的运行指标,如此,终端就可以完成针对业务查询请求的数据访问。需要说明的是,由于数据信息已经由服务器生成并存储到了业务数据库中,终端在响应业务查询请求时只需要直接从业务数据库中读取出数据信息即可,如此,能够很快地将数据信息反馈给用户,以减少了用户在查询虚拟机数据显示任务的运行指标时的等待时间。至此,本发明实施例终端侧提供的数据访问方法就结束了。
本发明实施例中,终端能够接收用户的业务查询请求,并对业务查询请求进行解析,得到虚拟机数据显示任务的身份信息,之后,终端根据身份信息从业务数据库中读取出虚拟机数据显示任务的数据信息,并将数据信息呈现给用户,完成针对业务查询请求的数据访问。如此,终端在知晓用户的查询需求之后,只需要直接从业务数据库中读取出数据信息,减少了用户查询的等待时间,提高了数据访问的响应速度。
将结合本发明实施例提供的服务器和终端的示例性应用和实施,说明本发明实施例提供的数据访问方法。参见图10,图10是本发明实施例终端侧提供的数据访问方法一个可选的交互示意图,将结合图10的步骤进行说明。
S301、当服务器获取到任务触发指令时,从任务触发指令中解析出虚拟机数据显示任务的身份信息。
S302、服务器根据身份信息,从业务数据库中获取虚拟机数据显示任务的历史运行数据。
S303、服务器通过运算节点对历史运行数据进行处理,得到虚拟机数据显示任务的数据信息;其中,数据信息表征虚拟机数据显示任务的运行指标。
S304、服务器将数据信息写入至业务数据库中,以使终端能够从业务数据库中读取出数据信息。
S305、终端接收用户的业务查询请求,并对业务查询请求进行解析,得到虚拟机数据显示任务的身份信息。
S306、终端根据身份信息,从业务数据库中读取出虚拟机数据显示任务的数据信息;其中,数据信息是由服务器生成并写入至业务数据库的。
S307、终端将数据信息呈现给用户,完成针对业务查询请求的数据访问。
示例性的,本发明实施例提供了数据访问过程示意图,如图11所示,服务器11-A和终端11-B分别与业务数据库11-C进行交互。服务器11-A通过端口11-A1将从任务触发指令中解析出的身份信息,并将身份信息传递给数据驱动模块11-A2,以通过数据驱动模块11-A2提取出历史运行数据。之后,服务器11-A通过运算节点的端口11-A1调用预测算法11-A3,来实现对历史运行数据的处理,得到数据信息。最后,服务器11-A将数据信息写入到业务数据库11-C中。终端11-B接收用户的业务查询请求,并根据业务查询请求中解析出的身份信息,从业务数据库11-C中读取数据信息,进而将数据信息呈现给用户。这样,就完成了数据访问过程。
本发明实施例中,当服务器获取到任务触发指令时,从任务触发指令中解析出虚拟机数据显示任务的身份信息,从而根据身份信息,从业务数据库中获取虚拟机数据显示任务的历史运行数据,进而通过运算节点对历史运行数据进行处理,得到虚拟机数据显示任务的数据信息,最终将数据信息写入至业务数据库中;终端接收用户的查询请求,并对用户的查询请求进行解析,得到虚拟机数据显示任务的身份信息,然后根据身份信息,从业务数据库中读取出数据信息,并将数据信息呈现给用户。如此,能够将服务器与终端解耦,服务器将数据信息预先计算好,并写入业务数据库,在用户有查询需求时,终端直接从数据库中读取出服务器所计算好的数据信息并显示给用户,减少了用户的查询等待时间,提高了数据访问的响应速度。
下面继续说明本发明实施例提供的数据处理装置255的实施为软件模块的示例性结构。数据处理装置255是应用在服务器上的,其中,服务器由多个分布式节点组成,在分布式节点中至少存在一个运算节点。在一些实施例中,如图2所示,存储在存储器250的数据处理装置255中的软件模块可以包括:
解析模块2551,用于当获取到任务触发指令时,从所述任务触发指令中解析出虚拟机数据显示任务的身份信息;
获取模块2552,用于根据所述身份信息,从业务数据库中获取所述虚拟机数据显示任务的历史运行数据;
处理模块2553,用于通过所述运算节点对所述历史运行数据进行处理,得到所述虚拟机数据显示任务的数据信息;其中,所述数据信息表征所述虚拟机数据显示任务的运行指标;
写入模块2554,用于将所述数据信息写入至所述业务数据库中,以使所述终端能够从所述业务数据库中读取出所述数据信息。
在本发明的一些实施例中,所述预测模块2553,具体用于根据运算节点中的至少一个工作进行中的每个工作进程的标识信息,从所述历史运行数据中筛选出与所述每个工作进程一一对应的子运行数据;通过所述每个工作进程对其所对应的子运行数据进行处理,得到所述每个工作进程的预测子结果;利用所述预测子结果组成所述数据信息。
在本发明的一些实施例中,所述获取模块2552,具体用于根据每个子身份信息,从业务数据库中获取到与所述每个子身份信息相对应的子运行数据;利用所述子运行数据组成所述历史运行数据。
在本发明的一些实施例中,所述预测装置255还包括:进程创建模块2555;
所述进程创建模块2555,用于获取所述每个工作进程的子预测时间,并对所述子预测时间进行整合得到总预测时间;所述子预测时间表征工作进程完成对子运行数据的处理所需要的时间;当所述总预测时间超过预设第一时间阈值时,通过所述运算节点的管理进程,在所述运算节点中创建出新的工作进程;其中,所述第一时间阈值表征已有的工作进程的总运算时间阈值;通过所述管理进程从所述身份信息中选择出第一子身份信息,并将所述第一子身份信息分配给所述新的工作进程,以使所述新的工作进程依据所述第一子身份信息获取到与其对应的第一子运行数据;
相应的,所述预测模块2553,还用于通过所述每个工作进程对除所述第一子运行数据之外的其他子运行数据进行处理,以及通过所述新的工作进程对所述第一子运行数据进行预测,得到所述子预测结果。
在本发明的一些实施例中,所述进程创建模块2555,还用于当所述总预测时间超过预设第二时间阈值时,在所述多个分布式节点中选择空闲节点作为新的运算节点;所述第二时间阈值表征单个运算节点的运算时间阈值;通过所述新的运算节点的管理进程,在所述新的运算节点中创建出新节点工作进程;通过所述新的运算节点的管理进程,从所述身份信息中选择出第二子身份信息,并将所述第二子身份信息分配给所述新节点工作进程,以使所述新节点工作进程依据所述第二子身份信息获取到与其对应的第二子运行数据;
相应的,所述预测模块2553,还用于通过所述每个工作进程对除所述第二子运行数据之外的其他子运行数据进行预测,以及通过所述新节点工作进程对所述第二子运行数据进行处理,得到所述子预测结果。
在本发明的一些实施例中,所述进程创建模块2555,具体用于通过所述新的运算节点的管理进程,创建出所述新节点工作进程;通过所述新节点工作进程,为其自身创建新工作进程标识;在缓存对所述新工作进程标识进行注册,从而完成所述新节点工作进程的创建。
在本发明的一些实施例中,所述预测模块2553,具体用于获取所述每个工作进程对应的所述子身份信息的优先级;通过所述每个工作进程,对所述优先级高于或等于预设好的优先级阈值的子身份信息对应的子运行数据进行处理,得到第一优先子预测结果;通过所述每个工作进程,对所述优先级低于所述预设好的优先级阈值的子身份信息所对应的子运行数据进行处理,得到第二优先子预测结果;利用所述第一优先子预测结果和所述第二优先子预测结果,整合出所述子预测结果。
下面继续说明本发明实施例提供的数据访问装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器450的数据访问装置455中的软件模块可以包括:
接收模块4551,用于接收用户的业务查询请求,并对所述业务查询请求进行解析,得到虚拟机数据显示任务的身份信息;
读取模块4552,用于根据所述身份信息,从业务数据库中读取出所述虚拟机数据显示任务的数据信息;其中,所述数据信息是所述由服务器生成并写入至所述业务数据库的;
呈现模块4553,用于将所述数据信息呈现给所述用户,完成针对所述业务查询请求的数据访问。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行数据访问指令,当可执行数据访问指令被第一处理器执行时,将引起第一处理器执行本发明实施例服务器侧提供的数据访问方法;或者是被第二处理器执行时,将引起第二处理器执行本发明实施例终端侧提供的数据访问方法。例如,如图4、图5、图6、图9或图10示出的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行数据访问指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行数据访问指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行数据访问指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (12)

1.一种数据访问方法,其特征在于,应用于服务器,包括:所述服务器由多个分布式节点组成,在所述多个分布式节点中至少存在一个运算节点;所述运算节点中运行有至少一个工作进程;
当获取到任务触发指令时,从所述任务触发指令中解析出虚拟机数据显示任务的身份信息;
根据所述身份信息,从业务数据库中获取所述虚拟机数据显示任务的历史运行数据;
基于所述历史运行数据确定出每个工作进程一一对应的子运行数据;
获取所述每个工作进程的子预测时间,并对所述子预测时间进行整合得到总预测时间;所述子预测时间表征工作进程完成对子运行数据的处理所需要的时间;
当所述总预测时间超过预设第一时间阈值时,通过所述运算节点的管理进程,在所述运算节点中创建出新的工作进程;其中,所述第一时间阈值表征已有的工作进程的总运算时间阈值;
通过所述管理进程从所述身份信息中选择出第一子身份信息,并将所述第一子身份信息分配给所述新的工作进程,以使所述新的工作进程依据所述第一子身份信息获取到与其对应的第一子运行数据;
通过所述每个工作进程对除所述第一子运行数据之外的其他子运行数据进行处理,以及通过所述新的工作进程对所述第一子运行数据进行处理,得到子预测结果;
利用所述子预测结果组成数据信息;其中,所述数据信息表征所述虚拟机数据显示任务的运行指标;
将所述数据信息写入至所述业务数据库中,以使终端能够从所述业务数据库中读取出所述数据信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述运算节点中的至少一个工作进程中的每个工作进程的标识信息,从所述历史运行数据中筛选出与所述每个工作进程一一对应的子运行数据;
通过所述每个工作进程对其所对应的子运行数据进行处理,得到所述每个工作进程的子预测结果;
利用所述子预测结果组成所述数据信息。
3.根据权利要求1或2所述的方法,其特征在于,所述身份信息包括至少一个子身份信息;所述根据所述身份信息,从业务数据库中获取所述虚拟机数据显示任务的历史运行数据,包括:
根据每个子身份信息,从所述业务数据库中获取到与所述每个子身份信息相对应的子运行数据;
利用所述子运行数据组成所述历史运行数据。
4.根据权利要求3所述的方法,其特征在于,在所述获取所述每个工作进程的子预测时间,并对所述子预测时间进行整合得到总预测时间之后,所述方法还包括:
当所述总预测时间超过预设第二时间阈值时,在所述多个分布式节点中选择空闲节点作为新的运算节点;所述第二时间阈值表征单个运算节点的运算时间阈值;
通过所述新的运算节点的管理进程,在所述新的运算节点中创建出新节点工作进程;
通过所述新的运算节点的管理进程,从所述身份信息中选择出第二子身份信息,并将所述第二子身份信息分配给所述新节点工作进程,以使所述新节点工作进程依据所述第二子身份信息获取到与其对应的第二子运行数据;
通过所述每个工作进程对除所述第二子运行数据之外的其他子运行数据进行处理,以及通过所述新节点工作进程对所述第二子运行数据进行处理,得到所述子预测结果。
5.根据权利要求4所述的方法,其特征在于,所述通过所述新的运算节点的管理进程,在所述新的运算节点中创建新节点工作进程,包括:
通过所述新的运算节点的管理进程,创建出所述新节点工作进程;
通过所述新节点工作进程,为其自身创建新工作进程标识;
在缓存对所述新工作进程标识进行注册,从而完成所述新节点工作进程的创建。
6.根据权利要求2所述的方法,其特征在于,所述通过所述每个工作进程对其所对应的子运行数据进行处理,得到所述每个工作进程的子预测结果,包括:
获取所述每个工作进程对应的所述子身份信息的优先级;
通过所述每个工作进程,对所述优先级高于或等于预设好的优先级阈值的子身份信息所对应的子运行数据进行处理,得到第一优先子预测结果;
通过所述每个工作进程,对所述优先级低于所述预设好的优先级阈值的子身份信息所对应的子运行数据进行处理,得到第二优先子预测结果;
利用所述第一优先子预测结果和所述第二优先子预测结果,整合出所述子预测结果。
7.一种数据访问方法,其特征在于,应用于终端,包括:
接收用户的业务查询请求,并对所述业务查询请求进行解析,得到虚拟机数据显示任务的身份信息;
根据所述身份信息,从业务数据库中读取出所述虚拟机数据显示任务的数据信息;其中,所述数据信息是由服务器生成并写入至所述业务数据库的;
将所述数据信息呈现给所述用户,完成针对所述业务查询请求的数据访问;
所述服务器生成所述数据信息,包括:
所述服务器由多个分布式节点组成,在所述多个分布式节点中至少存在一个运算节点;所述运算节点中运行有至少一个工作进程;
基于历史运行数据中筛确定出每个工作进程一一对应的子运行数据;
获取所述每个工作进程的子预测时间,并对所述子预测时间进行整合得到总预测时间;所述子预测时间表征工作进程完成对子运行数据的处理所需要的时间;
当所述总预测时间超过预设第一时间阈值时,通过所述运算节点的管理进程,在所述运算节点中创建出新的工作进程;其中,所述第一时间阈值表征已有的工作进程的总运算时间阈值;
通过所述管理进程从所述身份信息中选择出第一子身份信息,并将所述第一子身份信息分配给所述新的工作进程,以使所述新的工作进程依据所述第一子身份信息获取到与其对应的第一子运行数据;
通过所述每个工作进程对除所述第一子运行数据之外的其他子运行数据进行处理,以及通过所述新的工作进程对所述第一子运行数据进行处理,得到子预测结果;
利用所述子预测结果组成所述数据信息。
8.一种数据处理装置,其特征在于,应用于服务器,包括:所述服务器由多个分布式节点组成,在所述分布式节点中至少存在一个运算节点,所述运算节点中运行有至少一个工作进程;
解析模块,用于当获取到任务触发指令时,从所述任务触发指令中解析出虚拟机数据显示任务的身份信息;
获取模块,用于根据所述身份信息,从业务数据库中获取所述虚拟机数据显示任务的历史运行数据;
处理模块,用于基于所述历史运行数据确定出每个工作进程一一对应的子运行数据;获取所述每个工作进程的子预测时间,并对所述子预测时间进行整合得到总预测时间;所述子预测时间表征工作进程完成对子运行数据的处理所需要的时间;当所述总预测时间超过预设第一时间阈值时,通过所述运算节点的管理进程,在所述运算节点中创建出新的工作进程;其中,所述第一时间阈值表征已有的工作进程的总运算时间阈值;通过所述管理进程从所述身份信息中选择出第一子身份信息,并将所述第一子身份信息分配给所述新的工作进程,以使所述新的工作进程依据所述第一子身份信息获取到与其对应的第一子运行数据;通过所述每个工作进程对除所述第一子运行数据之外的其他子运行数据进行处理,以及通过所述新的工作进程对所述第一子运行数据进行处理,得到子预测结果;利用所述子预测结果组成数据信息;
写入模块,用于将所述数据信息写入至所述业务数据库中,以使终端能够从所述业务数据库中读取出所述数据信息。
9.一种数据访问装置,其特征在于,包括:
接收模块,用于接收用户的业务查询请求,并对所述业务查询请求进行解析,得到虚拟机数据显示任务的身份信息;
读取模块,用于根据所述身份信息,从业务数据库中读取出所述虚拟机数据显示任务的数据信息;其中,所述数据信息是由服务器生成并写入至所述业务数据库的;
呈现模块,用于将所述数据信息呈现给所述用户,完成针对所述业务查询请求的数据访问;
处理模块,用于所述服务器生成所述数据信息,包括:所述服务器由多个分布式节点组成,在所述多个分布式节点中至少存在一个运算节点;所述运算节点中运行有至少一个工作进程;基于历史运行数据确定出每个工作进程一一对应的子运行数据;获取所述每个工作进程的子预测时间,并对所述子预测时间进行整合得到总预测时间;所述子预测时间表征工作进程完成对子运行数据的处理所需要的时间;当所述总预测时间超过预设第一时间阈值时,通过所述运算节点的管理进程,在所述运算节点中创建出新的工作进程;其中,所述第一时间阈值表征已有的工作进程的总运算时间阈值;通过所述管理进程从所述身份信息中选择出第一子身份信息,并将所述第一子身份信息分配给所述新的工作进程,以使所述新的工作进程依据所述第一子身份信息获取到与其对应的第一子运行数据;通过所述每个工作进程对除所述第一子运行数据之外的其他子运行数据进行处理,以及通过所述新的工作进程对所述第一子运行数据进行处理,得到子预测结果;利用所述子预测结果组成所述数据信息。
10.一种服务器,其特征在于,包括:
第一存储器,用于存储可执行数据访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行数据访问指令时,实现权利要求1-6任一项所述的方法。
11.一种终端,其特征在于,包括:
第二存储器,用于存储可执行数据访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行数据访问指令时,实现权利要求7所述的方法。
12.一种存储介质,其特征在于,存储有可执行数据访问指令,用于引起第一处理器执行时,实现权利要求1-6任一项所述的方法;或者用于引起第二处理器执行时,实现权利要求7所述的方法。
CN202010292383.XA 2020-04-14 2020-04-14 一种数据访问方法、装置、设备及存储介质 Active CN113535320B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010292383.XA CN113535320B (zh) 2020-04-14 2020-04-14 一种数据访问方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010292383.XA CN113535320B (zh) 2020-04-14 2020-04-14 一种数据访问方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113535320A CN113535320A (zh) 2021-10-22
CN113535320B true CN113535320B (zh) 2024-02-23

Family

ID=78120003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010292383.XA Active CN113535320B (zh) 2020-04-14 2020-04-14 一种数据访问方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113535320B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152435A (ja) * 2008-12-24 2010-07-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
CN104065547A (zh) * 2014-06-23 2014-09-24 西安电子科技大学昆山创新研究院 一种计算中心内部物理主机的选择方法
CN106371976A (zh) * 2016-08-31 2017-02-01 福建天晴数码有限公司 客户端及Web服务器监控线程的方法及其系统
CN106713944A (zh) * 2016-12-30 2017-05-24 北京奇虎科技有限公司 一种流数据任务的处理方法和装置
CN109408286A (zh) * 2018-09-17 2019-03-01 北京京东金融科技控股有限公司 数据处理方法、装置、系统、计算机可读存储介质
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质
CN110874305A (zh) * 2019-11-14 2020-03-10 北京金山云网络技术有限公司 用户操作的记录方法、装置及服务器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124403B2 (en) * 2001-08-15 2006-10-17 Sun Microsystems, Inc. Methods and apparatus for managing defunct processes
US20120066683A1 (en) * 2010-09-09 2012-03-15 Srinath Nadig S Balanced thread creation and task allocation
EP3188017A1 (en) * 2015-12-29 2017-07-05 Harmonic Inc. Scheduler of processes having timed predictions of computing loads

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152435A (ja) * 2008-12-24 2010-07-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
CN104065547A (zh) * 2014-06-23 2014-09-24 西安电子科技大学昆山创新研究院 一种计算中心内部物理主机的选择方法
CN106371976A (zh) * 2016-08-31 2017-02-01 福建天晴数码有限公司 客户端及Web服务器监控线程的方法及其系统
CN106713944A (zh) * 2016-12-30 2017-05-24 北京奇虎科技有限公司 一种流数据任务的处理方法和装置
CN109408286A (zh) * 2018-09-17 2019-03-01 北京京东金融科技控股有限公司 数据处理方法、装置、系统、计算机可读存储介质
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质
CN110874305A (zh) * 2019-11-14 2020-03-10 北京金山云网络技术有限公司 用户操作的记录方法、装置及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于 OpenStack 云资源监控系统设计与实现;朱亚楠;《中国优秀硕士论文 信息科技》;正文第6-58页 *

Also Published As

Publication number Publication date
CN113535320A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
KR102150774B1 (ko) 단말기 애플리케이션을 로딩하기 위한 방법 및 장치
CN111406250B (zh) 无服务器计算环境中的使用经预取的数据的配设
CN109710405B (zh) 区块链智能合约管理方法、装置、电子设备及存储介质
US8661023B1 (en) Optimizing search query logic to speed retrieval
US8667020B2 (en) Placement goal-based database instance dynamic consolidation
CN107423823B (zh) 一种基于r语言的机器学习建模平台架构设计方法
CN105824957A (zh) 分布式内存列式数据库的查询引擎系统及查询方法
CN109033109B (zh) 数据处理方法及系统
US10025630B2 (en) Operating programs on a computer cluster
Shi et al. A case study of tuning MapReduce for efficient Bioinformatics in the cloud
US9473572B2 (en) Selecting a target server for a workload with a lowest adjusted cost based on component values
US10579419B2 (en) Data analysis in storage system
CN115438087A (zh) 基于缓存库的数据查询方法、装置、存储介质和设备
CN111047434A (zh) 一种操作记录生成方法、装置、计算机设备和存储介质
US10757190B2 (en) Method, device and computer program product for scheduling multi-cloud system
US11537377B2 (en) Method and system for profile based deployments
US20120311594A1 (en) Program, device, and method for building and managing web services
CN113535320B (zh) 一种数据访问方法、装置、设备及存储介质
CN111782717A (zh) 一种数据处理方法、系统及电子设备和存储介质
CN112912849B (zh) 一种基于图数据的计算运行调度方法、系统、计算机可读介质及设备
CN110109986B (zh) 任务处理方法、系统、服务器及任务调度系统
US11627193B2 (en) Method and system for tracking application activity data from remote devices and generating a corrective action data structure for the remote devices
US10296227B2 (en) System and method for dynamic cache distribution for in-memory data grids
CN108959952A (zh) 数据平台权限控制方法、装置和设备
Shang et al. The bandwidth-aware backup task scheduling strategy using SDN in Hadoop

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
GR01 Patent grant
GR01 Patent grant