CN114706628A - 基于一池多芯的分布式存储系统的数据处理方法和装置 - Google Patents
基于一池多芯的分布式存储系统的数据处理方法和装置 Download PDFInfo
- Publication number
- CN114706628A CN114706628A CN202210346903.XA CN202210346903A CN114706628A CN 114706628 A CN114706628 A CN 114706628A CN 202210346903 A CN202210346903 A CN 202210346903A CN 114706628 A CN114706628 A CN 114706628A
- Authority
- CN
- China
- Prior art keywords
- data processing
- dependency
- server
- data
- installation package
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
Abstract
本申请公开了一种基于一池多芯的分布式存储系统的数据处理方法和装置。该方法包括:通过服务器接收安装包;确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表;在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中;通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。通过本申请,解决了相关技术中由于分布式集群存在多种操作系统,导致无法高效的进行应用部署的问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种基于一池多芯的分布式存储系统的数据处理方法和装置。
背景技术
随着信息技术应用创新产业的发展,以及当前出现部分CPU产能供货的持续紧张,所以在新创行业逐渐出现了“一池多芯”的存储架构,从而降低由于CPU断供导致的CPU变更带来的数据风险。
“一池多芯”是指分布式存储系统的存储池可以支持多种CPU,包括X86架构和ARM架构CPU。由于在一套分布式存储集群中,存在多种CPU和操作系统的架构,为了实现多种生态CPU异构,支持多CPU和操作系统生态,所以需要实现业务数据在不同的CPU之间的无感知迁移。但是,当前使用的多种CPU之间的数据传输方式为通过网络管理组件,在多个节点之间进行数据通信,对多个节点进行数据处理,无法快速的进行数据传递,并且在进行“一池多芯”的应用进行部署时,用户十分依赖硬件平台,无法根据需要便捷的进行平台的调整,从而使得“一池多芯”系统无法高效便捷的对数据进行处理。
针对相关技术中由于分布式集群存在多种操作系统,导致无法高效的进行应用部署的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供一种基于一池多芯的分布式存储系统的数据处理方法和装置,以解决相关技术中由于分布式集群存在多种操作系统,导致无法高效的进行应用部署的问题。
根据本申请的一个方面,提供了一种基于一池多芯的分布式存储系统的数据处理方法。该方法包括:通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本;确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表;在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中;通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。
可选地,在判断安装包中是否包含系统版本对应的依赖列表之后,该该方法还包括:在安装包中不包含系统版本对应的依赖列表的情况下,根据系统版本确定系统版本对应的依赖列表;将依赖列表中的依赖包添加至安装包中,得到更新后的安装包。
可选地,在判断安装包中是否包含系统版本对应的依赖列表之前,该该方法还包括:获取操作系统对应的各个系统版本之间的差异值,得到多个差异值;将差异值小于预设差异值的系统版本分为一组,得到多组系统版本;在每组系统版本对应的依赖列表中选择目标依赖列表,确定与目标依赖列表对应的目标系统版本;将目标依赖列表确定为与目标系统版本同组的系统版本对应的依赖列表。
可选地,数据处理程序中还包括内存屏障指令,内存屏障指令用于指示不同类型的处理器在处理数据时,均将处理后的数据写入服务器的内存。
可选地,通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果包括:在多个处理器对服务器的内存中相同存储节点的数据进行变更后,将每个处理器中变更后的数据按照变更顺序添加至服务器的内存中,其中,服务器的内存中包含多个存储节点。
可选地,在通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果之前,该方法还包括:将服务器中的目标线程与处理器中的目标处理器核进行绑定,并在绑定之后,执行通过服务器中的处理器接收数据处理指令的步骤,其中,目标线程为服务器中历史时间段内使用率大于阈值的线程,目标处理器核为处理器中处于空闲状态的处理器核。
可选地,在数据处理指令为数据读取指令的情况下,通过数据处理程序执行数据处理指令,得到处理结果包括:通过数据处理程序从服务器中读取内存数据,得到读取结果;在数据处理指令为数据写入指令的情况下,通过数据处理程序执行数据处理指令,得到处理结果包括:通过数据处理程序向服务器中写入内存数据,得到写入结果。
根据本申请的另一方面,提供了一种基于一池多芯的分布式存储系统的数据处理装置。该装置包括:第一接收单元,用于通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本;判断单元,用于确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表;第一获取单元,用于在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中;第二接收单元,用于通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质用于存储程序,其中,程序运行时控制计算机存储介质所在的设备执行一种基于一池多芯的分布式存储系统的数据处理方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包含一个或多个处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种基于一池多芯的分布式存储系统的数据处理方法。
通过本申请,采用以下步骤:通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本;确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表;在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中;通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。解决了相关技术中由于分布式集群存在多种操作系统,导致无法高效的进行应用部署的问题。通过将数据处理软件在各个操作系统上所需的依赖包存储在安装包中,并在安装时直接从安装包中进行获取,同时在安装后直接通过数据处理软件进行数据存储,将进而达到了高效的进行“一池多芯”的应用部署的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法的流程图;
图2是根据本申请实施例提供的一种可选地数据处理程序安装的流程图;
图3是根据本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
分布式存储系统:将数据分散存储到多个存储服务器上,并将这些分散的存储资源构成一个虚拟的存储设备,能提供数据存储服务。
异构:在分布式存储系统中有多个不同的CPU或操作系统。
OSD:OSD(Object Storage Device)是指负责数据落盘的一个进程,副本和EC也通过OSD服务实现。每一个硬盘有一个OSD进程。
NUMA:Non-Uniform Memory Access非一致性内存访问。
根据本申请的实施例,提供了一种基于一池多芯的分布式存储系统的数据处理方法。
图1是根据本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法的流程图。如图1所示,该方法包括以下步骤:
步骤S102,通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本。
具体的,每个安装包中可以包含多个系统版本对应的依赖列表,其中,每个系统版本为每种操作系统对应的多个系统版本中的一种,例如,操作系统可以为windows系统,系统版本可以为windows10、windows11等,在向服务器安装数据处理程序时,需要根据服务器的操作系统的系统版本对应的依赖列表确定需要进行同步安装的依赖包,从而保证数据处理程序可以成功的进行安装。其中,可以根据操作系统的系统版本对应的驱动、配置以及安装方式将多个依赖包进行组合,得到在每个操作系统上安装数据处理程序时所需要的依赖列表,在生成依赖列表后即可在安装时根据依赖列表选取安装数据处理程序时所需的全部依赖包,从而可以使数据处理程序可以正常的在服务器上运行。
步骤S104,确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表。
具体的,在进行安装的时候,需要先识别服务器上的操作系统,并判断安装包中是否包含该操作系统对应的依赖列表,从而在已存储的情况下将依赖列表中的依赖包进行安装,完成数据处理软件的安装操作。
当安装包中不存在该操作系统对应的依赖列表时,可以将该操作系统进行添加,从而完善安装包中的内容,可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法中,在判断安装包中是否包含系统版本对应的依赖列表之后,该方法还包括:在安装包中不包含系统版本对应的依赖列表的情况下,根据系统版本确定系统版本对应的依赖列表;将依赖列表中的依赖包添加至安装包中,得到更新后的安装包。
具体的,在安装包中不包含系统版本对应的依赖列表的情况下,表明该系统版本为新增的操作系统,或是某个操作系统对应的新增的系统版本,此时可以按照数据处理程序的需要生成依赖列表,根据依赖列表确定依赖包,并将依赖列表上传到安装包中,这样在进行安装的时候即可根据服务器操作系统版本从安装包中获取到安装数据处理软件需要的全部依赖包。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法中,在判断安装包中是否包含系统版本对应的依赖列表之前,该方法还包括:获取操作系统对应的各个系统版本之间的差异值,得到多个差异值;将差异值小于预设差异值的系统版本分为一组,得到多组系统版本;在每组系统版本对应的依赖列表中选择目标依赖列表,确定与目标依赖列表对应的目标系统版本;将目标依赖列表确定为与目标系统版本同组的系统版本对应的依赖列表。
具体的,在判断安装包中是否包含系统版本对应的依赖列表之前,需要先生成安装包,可以先判断每个操作系统中的每两个系统版本之间的差异情况,并根据差异情况将差异比较小的多个系统版本映射到一个系统版本中,并将该系统版本对应的依赖列表确定为对应的多个系统版本的依赖列表,从而达到减少开发和测试工作量的目的,同时在进行安装包的打包操作时可以对打包流程进行简化,从而提高打包效率。
步骤S106,在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中。
具体的,在安装包中包含系统版本对应的依赖列表的情况下,可以直接将依赖包和数据处理程序一同安装至服务器中,从而使得数据处理程序可以在服务器中正常的使用和运行。
图2是根据本申请实施例提供的一种可选地数据处理程序安装的流程图,如图2所示,在开始安装时,首先判断服务器操作系统的系统版本是否在安装包中,若未在安装包中,则返回不支持该操作系统版本的通知,若已在安装包中,则可以通过架构类型和系统版本获取rpm依赖列表所在的文件路径,并根据服务器类型选择文件路径中的storage_client或storage_server,并读取每个文件的rpm列表安装package文件中的rpm包,在安装完成后可以初始化数据处理程序所需的组件,并启动服务,即完成安装。
步骤S108,通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。
具体的,在数据处理程序安装完成后,可以通过数据处理程序进行服务器的数据存储,也即将处理后的数据存储至服务器内存中,也即分布式存储集群中的服务器内存中。
本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法,通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本;确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表;在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中;通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。解决了相关技术中由于分布式集群存在多种操作系统,导致无法高效的进行应用部署的问题。通过将数据处理软件在各个操作系统上所需的依赖包存储在安装包中,并在安装时直接从安装包中进行获取,同时在安装后直接通过数据处理软件进行数据存储,将进而达到了高效的进行“一池多芯”的应用部署的效果。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法中,数据处理程序中还包括内存屏障指令,内存屏障指令用于指示不同类型的处理器在处理数据时,均将处理后的数据写入服务器的内存。
具体的,内存屏障(Memory barrier)技术可以用于屏蔽多种CPU存在的不同的内存一致性算法,也即,屏蔽不同的应用在不同的内存一致性算法下可能产生的数据不一致性的风险。在写入数据的时候,可以通过将CPU缓存中存储的处理后的数据发送至服务器内存中,从而保证所有CPU访问一个存储节点时访问到的内存数据是一致的,这样就不用考虑不同架构CPU之间的内存一致性算法差异,使得CPU处理的数据是一致的,从而避免出现数据异常的现象。
例如,ARM和X86两种CPU架构的内存一致性算法是不一样的。ARM体系结构允许内存的使用者(也即ARM CPU)和观察者(也即其余CPU)以不同顺序完成数据读取的操作,也即读写顺序不一致。X86体系结构可以在CPU执行一系列写操作时,使得其他所有的CPU核心能够检测到这些值的改变,而且改变的顺序和写入顺序一致。当一个存储池同时存在这两种CPU架构的情况下,对于服务器中的应用软件来说,这两种架构CPU在各自的CPU缓存中处理同一节点的数据时,会导致处理后的数据不一致,从而在出现某一个CPU出现异常后,无法保证另一个CPU中存储的数据为正确的数据。所以在不同CPU处理完数据后,需要将数据从CPU缓存中发送至服务器内存中,从而保证服务器内存的每个存储节点对应的数据均为最新数据,从而保证数据的一致性。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法中,通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果包括:在多个处理器对服务器的内存中相同存储节点的数据进行变更后,将每个处理器中变更后的数据按照变更顺序添加至服务器的内存中,其中,服务器的内存中包含多个存储节点。
具体的,在多个CPU对内存中的某个存储节点上的数据进行计算或者变更的时候,会由于不同的CPU之间不同的内存一致性算法模型导致该存储节点的数据不一致的现象发生,例如,ACPU变更A节点的数据后,将变更后的数据存储至ACPU对应的缓存中,并通知其余CPU该节点的数据变更情况,此时数据在所有CPU中可以保持一致,但是BCPU在变更A节点的数据后,将变更后的数据存储至BCPU对应的缓存中,并不向其余CPU发送数据变更信息,导致其余CPU在调用该数据时调用的数据并非最新数据。因此,可以强制将每个CPU的缓存中的变更数据统一存储至服务器内存中,并在CPU调用数据是直接从内存中调用,从而保证了数据的一致性。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法中,在通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果之前,该方法还包括:将服务器中的目标线程与处理器中的目标处理器核进行绑定,并在绑定之后,执行通过服务器中的处理器接收数据处理指令的步骤,其中,目标线程为服务器中历史时间段内使用率大于阈值的线程,目标处理器核为处理器中处于空闲状态的处理器核。
具体的,ARM CPU都有多核,多内存,多内存通道特点,从而有高并发/高转发/高IO优势,利用ARM CPU的这个特点,通过数据处理程序将ARM CPU进行NUMA绑定,大幅提升分布式存储的性能。在CPU为ARM CPU的情况下,可以将某个进程绑定到CPU的某个核上。根据分布式存储的需求,可以将对性能影响比较大的线程如OSD绑定到核上,此时,每个OSD在正常运行的时候,内存消耗是差不多的,保证了一个服务器的NUMA的每个核的负载差不多的内存,同时可以在该线程上进行高速的数据处理。
例如,针对A系列的CPU,在将CPU的核与线程进行绑定后,块存储的IOPS随机读写性能超出同规格非创新CPU架构10-20%;针对B系列的CPU,在将CPU的核与线程进行绑定后,对象存储的读写TPS读写性能超出同规格非创新CPU架构的水平10-15%。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理方法中,在数据处理指令为数据读取指令的情况下,通过数据处理程序执行数据处理指令,得到处理结果包括:通过数据处理程序从服务器中读取内存数据,得到读取结果;在数据处理指令为数据写入指令的情况下,通过数据处理程序执行数据处理指令,得到处理结果包括:通过数据处理程序向服务器中写入内存数据,得到写入结果。
具体的,在操作指令为读取内存数据的情况下,数据处理程序从内存中获取数据,并通过CPU进行数据处理,得到数据处理结果;在操作指令为写入内存数据的情况下,CPU通过数据处理程序向内存中写入数据,从而完成数据写入操作。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种基于一池多芯的分布式存储系统的数据处理装置,需要说明的是,本申请实施例的基于一池多芯的分布式存储系统的数据处理装置可以用于执行本申请实施例所提供的用于基于一池多芯的分布式存储系统的数据处理方法。以下对本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置进行介绍。
图3是根据本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置的示意图。如图3所示,该装置包括:第一接收单元31,判断单元32,第一获取单元33,第二接收单元34。
第一接收单元31,用于通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本。
判断单元32,用于确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表。
第一获取单元33,用于在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中。
第二接收单元34,用于通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。
本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置,通过第一接收单元31通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本。判断单元32确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表。第一获取单元33在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中。第二接收单元34通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。解决了相关技术中由于分布式集群存在多种操作系统,导致无法高效的进行应用部署的问题。通过将数据处理软件在各个操作系统上所需的依赖包存储在安装包中,并在安装时直接从安装包中进行获取,同时在安装后直接通过数据处理软件进行数据存储,将进而达到了高效的进行“一池多芯”的应用部署的效果。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置中,在判断安装包中是否包含系统版本对应的依赖列表之后,该装置还包括:第一确定单元,用于在安装包中不包含系统版本对应的依赖列表的情况下,根据系统版本确定系统版本对应的依赖列表;添加单元,用于将依赖列表中的依赖包添加至安装包中,得到更新后的安装包。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置中,在判断安装包中是否包含系统版本对应的依赖列表之前,该装置还包括:第二获取单元,用于获取操作系统对应的各个系统版本之间的差异值,得到多个差异值;分组单元,用于将差异值小于预设差异值的系统版本分为一组,得到多组系统版本;第二确定单元,用于在每组系统版本对应的依赖列表中选择目标依赖列表,确定与目标依赖列表对应的目标系统版本;第三确定单元,用于将目标依赖列表确定为与目标系统版本同组的系统版本对应的依赖列表。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置中,数据处理程序中还包括内存屏障指令,内存屏障指令用于指示不同类型的处理器在处理数据时,均将处理后的数据写入服务器的内存。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置中,第二接收单元34包括:添加模块,用于在多个处理器对服务器的内存中相同存储节点的数据进行变更后,将每个处理器中变更后的数据按照变更顺序添加至服务器的内存中,其中,服务器的内存中包含多个存储节点。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置中,该装置法还包括:绑定单元,用于将服务器中的目标线程与处理器中的目标处理器核进行绑定,并在绑定之后,执行通过服务器中的处理器接收数据处理指令的步骤,其中,目标线程为服务器中历史时间段内使用率大于阈值的线程,目标处理器核为处理器中处于空闲状态的处理器核。
可选地,在本申请实施例提供的基于一池多芯的分布式存储系统的数据处理装置中,在数据处理指令为数据读取指令的情况下,第二接收单元34包括:第一读取模块,用于通过数据处理程序从服务器中读取内存数据,得到读取结果;在数据处理指令为数据写入指令的情况下,第二接收单元34包括:第二读取模块,用于通过数据处理程序向服务器中写入内存数据,得到写入结果。
上述基于一池多芯的分布式存储系统的数据处理装置包括处理器和存储器,上述第一接收单元31,判断单元32,第一获取单元33,第二接收单元34等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决了相关技术中由于分布式集群存在多种操作系统,导致无法高效的进行应用部署的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述基于一池多芯的分布式存储系统的数据处理方法。
本发明实施例提供了一种电子设备,电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本;确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表;在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中;通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。本文中的设备可以是服务器、PC、PAD、手机等。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于一池多芯的分布式存储系统的数据处理方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:通过服务器接收安装包,其中,安装包中包括数据处理程序和多个依赖列表,依赖列表中包括数据处理程序的依赖包,每个依赖列表对应一个操作系统的系统版本;确定服务器的操作系统的系统版本,并判断安装包中是否包含系统版本对应的依赖列表;在安装包中包含系统版本对应的依赖列表的情况下,获取依赖列表中的依赖包,并通过依赖包将数据处理程序安装至服务器中;通过服务器中的处理器接收数据处理指令,并通过数据处理程序执行数据处理指令,得到处理结果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于一池多芯的分布式存储系统的数据处理方法,其特征在于,包括:
通过服务器接收安装包,其中,所述安装包中包括数据处理程序和多个依赖列表,所述依赖列表中包括所述数据处理程序的依赖包,每个所述依赖列表对应一个操作系统的系统版本;
确定所述服务器的操作系统的系统版本,并判断所述安装包中是否包含所述系统版本对应的依赖列表;
在所述安装包中包含所述系统版本对应的依赖列表的情况下,获取所述依赖列表中的依赖包,并通过所述依赖包将所述数据处理程序安装至所述服务器中;
通过所述服务器中的处理器接收数据处理指令,并通过所述数据处理程序执行所述数据处理指令,得到处理结果。
2.根据权利要求1所述的方法,其特征在于,在判断所述安装包中是否包含所述系统版本对应的依赖列表之后,所述方法还包括:
在所述安装包中不包含所述系统版本对应的依赖列表的情况下,根据所述系统版本确定所述系统版本对应的依赖列表;
将所述依赖列表中的依赖包添加至所述安装包中,得到更新后的所述安装包。
3.根据权利要求1所述的方法,其特征在于,在判断所述安装包中是否包含所述系统版本对应的依赖列表之前,所述方法还包括:
获取所述操作系统对应的各个系统版本之间的差异值,得到多个差异值;
将所述差异值小于预设差异值的所述系统版本分为一组,得到多组所述系统版本;
在每组所述系统版本对应的所述依赖列表中选择目标依赖列表,确定与所述目标依赖列表对应的目标系统版本;
将所述目标依赖列表确定为与所述目标系统版本同组的所述系统版本对应的所述依赖列表。
4.根据权利要求1所述的方法,其特征在于,所述数据处理程序中还包括内存屏障指令,所述内存屏障指令用于指示不同类型的处理器在处理数据时,均将处理后的数据写入所述服务器的内存。
5.根据权利要求1所述的方法,其特征在于,通过所述服务器中的处理器接收数据处理指令,并通过所述数据处理程序执行所述数据处理指令,得到处理结果包括:
在多个所述处理器对所述服务器的内存中相同存储节点的数据进行变更后,将每个所述处理器中变更后的数据按照变更顺序添加至所述服务器的内存中,其中,所述服务器的内存中包含多个所述存储节点。
6.根据权利要求1所述的方法,其特征在于,在通过所述服务器中的处理器接收数据处理指令,并通过所述数据处理程序执行所述数据处理指令,得到处理结果之前,所述方法还包括:
将所述服务器中的目标线程与所述处理器中的目标处理器核进行绑定,并在绑定之后,执行通过所述服务器中的处理器接收数据处理指令的步骤,其中,所述目标线程为所述服务器中历史时间段内使用率大于阈值的线程,所述目标处理器核为所述处理器中处于空闲状态的处理器核。
7.根据权利要求1所述的方法,其特征在于,
在所述数据处理指令为数据读取指令的情况下,通过所述数据处理程序执行所述数据处理指令,得到处理结果包括:
通过所述数据处理程序从所述服务器中读取内存数据,得到读取结果;
在所述数据处理指令为数据写入指令的情况下,通过所述数据处理程序执行所述数据处理指令,得到处理结果包括:
通过所述数据处理程序向所述服务器中写入内存数据,得到写入结果。
8.一种基于一池多芯的分布式存储系统的数据处理装置,其特征在于,包括:
第一接收单元,用于通过服务器接收安装包,其中,所述安装包中包括数据处理程序和多个依赖列表,所述依赖列表中包括所述数据处理程序的依赖包,每个所述依赖列表对应一个操作系统的系统版本;
判断单元,用于确定所述服务器的操作系统的系统版本,并判断所述安装包中是否包含所述系统版本对应的依赖列表;
第一获取单元,用于在所述安装包中包含所述系统版本对应的依赖列表的情况下,获取所述依赖列表中的依赖包,并通过所述依赖包将所述数据处理程序安装至所述服务器中;
第二接收单元,用于通过所述服务器中的处理器接收数据处理指令,并通过所述数据处理程序执行所述数据处理指令,得到处理结果。
9.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储程序,其中,所述程序运行时控制所述计算机存储介质所在的设备执行权利要求1至7中任意一项所述的基于一池多芯的分布式存储系统的数据处理方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的基于一池多芯的分布式存储系统的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210346903.XA CN114706628B (zh) | 2022-04-02 | 2022-04-02 | 基于一池多芯的分布式存储系统的数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210346903.XA CN114706628B (zh) | 2022-04-02 | 2022-04-02 | 基于一池多芯的分布式存储系统的数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114706628A true CN114706628A (zh) | 2022-07-05 |
CN114706628B CN114706628B (zh) | 2023-02-17 |
Family
ID=82172561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210346903.XA Active CN114706628B (zh) | 2022-04-02 | 2022-04-02 | 基于一池多芯的分布式存储系统的数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114706628B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610853A (zh) * | 2015-10-26 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
CN112596779A (zh) * | 2020-12-16 | 2021-04-02 | 中国建设银行股份有限公司 | 兼容双版本的依赖包生成方法、装置、设备及存储介质 |
CN112748949A (zh) * | 2021-01-15 | 2021-05-04 | 苏州浪潮智能科技有限公司 | 一种操作系统的软件包管理方法、装置、设备及存储介质 |
CN113238766A (zh) * | 2021-05-28 | 2021-08-10 | 浪潮电子信息产业股份有限公司 | 一种软件部署方法、装置及相关设备 |
CN113391826A (zh) * | 2021-08-16 | 2021-09-14 | 统信软件技术有限公司 | 一种定制镜像中软件包依赖的解决方法 |
-
2022
- 2022-04-02 CN CN202210346903.XA patent/CN114706628B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610853A (zh) * | 2015-10-26 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
CN112596779A (zh) * | 2020-12-16 | 2021-04-02 | 中国建设银行股份有限公司 | 兼容双版本的依赖包生成方法、装置、设备及存储介质 |
CN112748949A (zh) * | 2021-01-15 | 2021-05-04 | 苏州浪潮智能科技有限公司 | 一种操作系统的软件包管理方法、装置、设备及存储介质 |
CN113238766A (zh) * | 2021-05-28 | 2021-08-10 | 浪潮电子信息产业股份有限公司 | 一种软件部署方法、装置及相关设备 |
CN113391826A (zh) * | 2021-08-16 | 2021-09-14 | 统信软件技术有限公司 | 一种定制镜像中软件包依赖的解决方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114706628B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI604378B (zh) | 用於新應用程式之記憶體管理模型與介面 | |
US20200102704A1 (en) | System and method to manage and share managed runtime memory for java virtual machine | |
US20060288159A1 (en) | Method of controlling cache allocation | |
US9535754B1 (en) | Dynamic provisioning of computing resources | |
US20070011420A1 (en) | Systems and methods for memory migration | |
US20140040474A1 (en) | Maximizing server utilization within a datacenter | |
CN104111897A (zh) | 一种数据处理方法、装置及计算机系统 | |
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
TW201301029A (zh) | 具有增強型應用程式元資料之記憶體管理器 | |
KR20140033448A (ko) | 수정되지 않은 애플리케이션을 위한 메모리 관리 모델 및 인터페이스 | |
CN107870802B (zh) | 一种虚拟机迁移方法和装置 | |
CN111866045A (zh) | 信息处理方法及其装置、计算机系统及计算机可读介质 | |
CN113157428B (zh) | 基于容器的资源调度方法、装置及容器集群管理装置 | |
CN112948169A (zh) | 数据备份的方法、装置、设备和存储介质 | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
US11561843B2 (en) | Automated performance tuning using workload profiling in a distributed computing environment | |
CN114706628B (zh) | 基于一池多芯的分布式存储系统的数据处理方法和装置 | |
CN116149552A (zh) | 一种存储系统优化方法、系统、设备及存储介质 | |
US11461131B2 (en) | Hosting virtual machines on a secondary storage system | |
CN109981732A (zh) | 海量文件传输控制方法及装置 | |
CN115328608A (zh) | 一种Kubernetes容器垂直伸缩调节方法和装置 | |
CN113254186A (zh) | 一种进程调度方法、调度器及存储介质 | |
KR102456017B1 (ko) | 응용 프로그램간 파일 공유 장치 및 방법 | |
US10452546B2 (en) | Cache utility modeling for automated cache configuration | |
US11941448B2 (en) | Allocating computing resources to data transfer jobs based on a completed amount and an estimated priority of system failure |
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 |