CN108287706A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN108287706A CN108287706A CN201710327036.4A CN201710327036A CN108287706A CN 108287706 A CN108287706 A CN 108287706A CN 201710327036 A CN201710327036 A CN 201710327036A CN 108287706 A CN108287706 A CN 108287706A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- identifier
- acquisition
- instruction
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 473
- 238000000034 method Methods 0.000 claims abstract description 100
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 239000011159 matrix material Substances 0.000 description 18
- 238000010801 machine learning Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置,属于大数据领域。方法包括:根据数据指示标识和第一处理指令,生成数据对象,数据指示标识指示待处理的数据,第一处理指令指示第一处理操作,第一处理操作为获取类操作或更新类操作;基于数据对象调用与第一处理操作匹配的指定接口,指定接口包括与获取类操作匹配的获取接口和与更新类操作匹配的更新接口中的任一个;在与第一处理操作匹配的指定接口的运行过程中,对数据指示标识和第一处理指令进行封装,得到数据处理请求,向数据指示标识对应的服务器发送数据处理请求,服务器根据第一处理指令对数据进行第一处理操作,得到第一处理结果。本发明设置两个通用的接口,提高通用性,扩展了应用范围。
Description
技术领域
本发明涉及大数据领域,特别涉及一种数据处理方法及装置。
背景技术
随着互联网的数据规模不断扩大,采用单个节点已经无法满足存储数据和处理数据的需求,而分布式数据处理系统有效解决了这一难题。分布式数据处理系统中包括服务器和计算节点,服务器用于存储数据并提供数据处理接口,计算节点用于调用数据处理接口,请求服务器对存储的数据进行处理操作。
为了实现多种处理操作,服务器通常会设置多种数据处理接口,每种数据处理接口中设置有固定的处理指令,能够实现处理指令所指示的处理操作,则一种数据处理接口对应于一种处理操作,例如数据清零接口对应于将数据置为零的操作,求取最大值接口对应于求取数据最大值的操作。
当计算节点要请求服务器对某些数据进行某种处理操作时,获取用于指示该数据的数据指示标识,基于数据指示标识调用该处理操作对应的数据处理接口,在该数据处理接口的运行过程中,会对数据指示标识和数据处理接口中固定的处理指令进行封装,得到数据处理请求,并发送给数据指示标识对应的服务器,即存储该数据的服务器,数据指示标识对应的服务器接收到数据处理请求时,对该数据指示标识所指示的数据进行处理指令所指示的处理操作。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:一旦服务器未设置某种数据处理接口,将无法实现对应的处理操作,因而现有的数据处理方式的应用范围狭窄,存在局限。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种数据处理方法及装置。所述技术方案如下:
第一方面,提供了一种数据处理方法,应用于计算节点中,所述方法包括:
根据数据指示标识和第一处理指令,生成数据对象,所述数据指示标识用于指示待处理的数据,所述第一处理指令用于指示对所述数据进行第一处理操作,所述第一处理操作为获取类操作或更新类操作;
基于所述数据对象调用与所述第一处理操作匹配的指定接口,所述指定接口包括与所述获取类操作匹配的获取接口和与所述更新类操作匹配的更新接口中的任一个;
在与所述第一处理操作匹配的指定接口的运行过程中,对所述数据指示标识和所述第一处理指令进行封装,得到数据处理请求,向所述数据指示标识对应的服务器发送所述数据处理请求,所述服务器用于存储所述数据,根据所述第一处理指令对所述数据进行所述第一处理操作,得到第一处理结果。
第二方面,提供了一种数据处理方法,应用于服务器中,所述方法包括:
接收计算节点发送的数据处理请求;
对所述数据处理请求进行解析,得到数据指示标识和第一处理指令,所述数据指示标识用于指示待处理的数据,所述第一处理指令用于指示对所述数据进行第一处理操作,所述第一处理操作为获取类操作或更新类操作;
根据所述第一处理指令,对所述数据指示标识指示的所述数据进行所述第一处理操作,得到第一处理结果;
其中,所述计算节点用于根据所述数据指示标识和所述第一处理指令,生成数据对象,基于所述数据对象调用与所述第一处理操作匹配的指定接口,在与所述第一处理操作匹配的指定接口的运行过程中,对所述数据指示标识和所述第一处理指令进行封装,得到所述数据处理请求,所述指定接口包括与所述获取类操作匹配的获取接口和与所述更新类操作匹配的更新接口中的任一个。
第三方面,提供了一种数据处理装置,应用于计算节点中,所述装置包括:
生成模块,用于根据数据指示标识和第一处理指令,生成数据对象,所述数据指示标识用于指示待处理的数据,所述第一处理指令用于指示对所述数据进行第一处理操作,所述第一处理操作为获取类操作或更新类操作;
调用模块,用于基于所述数据对象调用与所述第一处理操作匹配的指定接口,所述指定接口包括与所述获取类操作匹配的获取接口和与所述更新类操作匹配的更新接口中的任一个;
封装模块,用于在与所述第一处理操作匹配的指定接口的运行过程中,对所述数据指示标识和所述第一处理指令进行封装,得到数据处理请求;
发送模块,用于向所述数据指示标识对应的服务器发送所述数据处理请求,所述服务器用于存储所述数据,根据所述第一处理指令对所述数据进行所述第一处理操作,得到第一处理结果。
第四方面,提供了一种数据处理装置,应用于服务器中,所述装置包括:
接收模块,用于接收计算节点发送的数据处理请求;
解析模块,用于对所述数据处理请求进行解析,得到数据指示标识和第一处理指令,所述数据指示标识用于指示待处理的数据,所述第一处理指令用于指示对所述数据进行第一处理操作,所述第一处理操作为获取类操作或更新类操作;
处理模块,用于根据所述第一处理指令,对所述数据指示标识指示的所述数据进行所述第一处理操作,得到第一处理结果。
其中,所述计算节点用于根据所述数据指示标识和所述第一处理指令,生成数据对象,基于所述数据对象调用与所述第一处理操作匹配的指定接口,在与所述第一处理操作匹配的指定接口的运行过程中,对所述数据指示标识和所述第一处理指令进行封装,得到所述数据处理请求,所述指定接口包括与所述获取类操作匹配的获取接口和与所述更新类操作匹配的更新接口中的任一个。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法及装置,为获取类操作和更新类操作这两类处理操作设置两个通用的指定接口:获取接口和更新接口,分别用于实现多种获取类操作和多种更新类操作。则根据数据指示标识和处理指令生成数据对象,基于该数据对象调用与处理指令匹配的指定接口时,服务器即可实现与处理指令匹配的处理操作,无需为每个处理操作分别设置对应的接口,而且基于不同的处理指令调用同一指定接口可以实现不同的处理操作,提高了通用性,扩展了应用范围。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例提供的一种实施环境的示意图;
图1B是本发明实施例提供的一种实施环境的示意图;
图1C是本发明实施例提供的一种实施环境的示意图;
图1D是本发明实施例提供的一种实施环境的示意图;
图2A是本发明实施例提供的一种数据处理方法的流程图;
图2B是本发明实施例提供的一种机器学习场景下计算节点的操作流程图;
图2C是本发明实施例提供的一种机器学习场景下PS的操作流程图;
图2D是本发明实施例提供的另一种机器学习场景下计算节点的操作流程图;
图2E是本发明实施例提供的一种机器学习场景下PS的操作流程图;
图3A是本发明实施例提供的一种数据处理装置的结构示意图;
图3B是本发明实施例提供的一种数据处理装置的结构示意图;
图4A是本发明实施例提供的一种数据处理装置的结构示意图;
图4B是本发明实施例提供的一种数据处理装置的结构示意图;
图5是本发明实施例提供的一种终端的结构示意图;
图6是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1A是本发明实施例提供的一种实施环境的示意图,该实施环境包括:服务器101和计算节点102,服务器101和计算节点102通过网络连接。
该服务器101用于存储数据,该计算节点102用于对服务器101中存储的数据进行管理。其中,该计算节点102可以为计算机、手机等,该计算节点102可以包括与服务器101关联的客户端,通过该客户端可以与服务器101进行交互。且,服务器101可以向计算节点102下发数据,由计算节点102对数据进行处理操作,并且针对不同的处理操作和不同的数据可以生成多种处理任务,并通过线程执行生成的处理任务。
在一种可能实现方式中,考虑到数据规模可能较大,一个服务器101可能无法满足存储大量数据的需求,参见图1B,该实施环境可以包括多个服务器101,并且将数据划分为多个数据集合,每个服务器101中存储至少一个数据集合。
在另一种可能实现方式中,考虑到处理数据的运算量可能较大,一个计算节点102可能无法满足处理数据的需求,参见图1C,该实施环境可以包括多个计算节点102,由多个计算节点102分担处理数据的运算量。
进一步地,参见图1D,该实施环境还可以包括多个服务器101和多个计算节点102,该多个服务器101和多个计算节点102通过协同工作共同对数据进行处理。
另外,在上述实施例的基础上,该实施环境还可以包括控制节点,该控制节点与多个服务器101和多个计算节点102分别连接,该控制节点用于检测计算节点102和服务器101的运行状态,根据检测的运行状态进行分析,判断计算节点102和服务器101是否发生故障,以便在计算节点102和服务器101发生故障时及时进行处理。
相关技术中,数据处理接口中已设置固定的处理指令,则一种数据处理接口对应一种处理操作。计算节点要对服务器中的某些数据进行某种处理操作时,确定用于指示该数据的数据指示标识,基于该数据指示标识调用与该处理操作对应的数据处理接口,即可在数据处理接口的运行过程中,根据该数据指示标识以及固定的处理指令,对服务器中存储的该数据进行该处理操作。
但是,考虑到上述数据处理方式的应用范围狭窄,本发明实施例设置了两个通用的指定接口:获取接口和更新接口,分别用于获取类操作和更新类操作这两种处理操作,相应地,处理指令也分为获取类处理指令和更新类处理指令。由于指定接口中并未设置固定的处理指令,基于不同的处理指令调用指定接口时可以实现不同的处理操作,即基于不同的获取类处理指令调用获取接口时可以实现不同的获取类操作,基于不同的更新类处理指令调用更新接口时可以实现不同的更新类操作。
图2A是本发明实施例提供的一种数据处理方法的流程图,该数据处理方法可以应用于上述实施例所示的实施环境中,交互主体为计算节点和服务器,参见图2A,该方法包括:
201、计算节点根据数据指示标识和第一处理指令,生成数据对象。
由于本发明实施例中的指定接口中并未设置处理指令,因此在调用指定接口之前,需要先确定数据指示标识和待执行的第一处理指令,对数据指示标识和第一处理指令进行封装,得到数据对象,后续可以基于该数据对象调用匹配的指定接口。
其中,该数据指示标识用于指示待处理的数据,可以包括数据标识、数据集合标识中的至少一个。数据标识用于指示唯一对应的数据,可以为数据的名称、编号、存储地址或存储位置等。数据集合标识用于指示数据所属的数据集合,为数据集合中的所有数据共有的标识。
本发明实施例中,可以由至少一个服务器来存储数据,存储数据的服务器与数据标识相对应。进一步地,可以将数据划分为至少一个数据集合,分别存储于至少一个服务器中,每个服务器可以存储一个或多个数据集合,则存储数据集合的服务器与数据集合标识相对应。
数据集合可以通过不同的划分方式得到,相应的数据集合标识也可以包括多种。例如,多个数据可以采用矩阵的形式表示,可以将矩阵按行划分得到至少一行数据,每行数据组成一个数据集合,对应的数据集合标识可以指行标识;又如,可以将矩阵按列划分得到至少一列数据,每列数据组成一个数据集合,对应的数据集合标识可以指列标识;又如,可以将矩阵划分为至少一个子矩阵,对应的数据集合标识可以指子矩阵标识,子矩阵标识可以为子矩阵在矩阵中的排列顺序。
为了便于区分,在一种可能的实现方式中,数据指示标识可以包括多个字段,每个字段代表一种标识,通过不同的字段可以区分不同类型的标识。例如数据指示标识中包括数据标识字段、行标识字段,列标识字段和子矩阵标识字段,如果读取数据指示标识,确定行标识为10,子矩阵标识为1,其他字段为空,则可以确定数据指示标识对应于为第1个子矩阵中的第10行数据。
在另一种可能的实现方式中,数据指示标识可以采用多种不同的格式表示,每种格式代表一种标识,通过不同的格式可以区分不同类型的标识,例如,子矩阵标识可以采用以partition(数据集合)为前缀,子矩阵顺序为后缀的格式表示,例如partition1表示第1个子矩阵中的数据,行标识可以采用以line(行)为前缀,行数为后缀的格式标识,例如line1表示第1行的数据等。
其中,该第一处理指令用于指示对数据进行第一处理操作,该第一处理操作为获取类操作或更新类操作,具体为哪一类操作可以根据用户的需求确定。本发明实施例中针对获取类操作和更新类操作这两类处理操作,获取类操作是指根据服务器中的数据获取数据的操作,要获取的数据可以为原始数据、数据的平均值、数据的最大值等多种,具体获取哪一种数据要根据获取类操作包含的获取方式确定,该获取类操作不会改变服务器中的数据,而更新类操作是指将服务器中的数据更新为其他数据的操作,该更新类操作会改变服务器中的数据。
本发明实施例中,计算节点可以根据用户的设置操作,确定数据指示标识和第一处理指令。进一步地,计算节点可以预先设置待执行的处理指令的框架,向框架中添加第一处理操作的属性、方法以及其他元素后,计算节点即可得到第一处理指令。当然,向该框架中添加其他处理操作的属性、方法以及其他元素后,计算节点即可得到与其他处理操作匹配的处理指令。
在一种可能的实现方式中,计算节点可以设置partitionGet(数据集合获取)方法,作为获取类操作的框架,第一处理操作为获取类操作时,向partitionGet方法中添加了第一处理操作所需的属性、方法以及其他元素后,添加后的partitionGet方法即为第一处理指令。换句话说,只需提供一个继承自partitionGet方法的子类,作为第一处理指令,而无需重新设置第一处理指令。例如,当要得到用于获取最大值的第一处理指令时,直接向partitionGet方法中添加获取最大值的操作所需的属性、方法以及其他元素即可。
在另一种可能的实现方式中,计算节点可以设置partitionUpdate(数据集合更新)方法,作为更新类操作的框架,第一处理操作为更新类操作时,向partitionUpdate方法添加了第一处理操作所需的属性、方法以及其他元素后,添加后的partitionUpdate方法即为第一处理指令。换句话说,只需提供一个继承自partitionUpdate方法的子类,作为第一处理指令,而无需重新设置第一处理指令。例如,当要得到用于将数据置为零的第一处理指令时,直接向partitionUpdate方法中添加将数据置为零的操作所需的属性、方法以及其他元素即可。
当确定数据指示标识和第一处理指令后,计算节点可以对数据指示标识和第一处理指令进行封装,得到数据对象,该数据对象包括数据指示标识和第一处理指令。
进一步地,计算节点还可以确定第二处理指令,该第二处理指令用于指示对第一处理结果进行第二处理操作,该第一处理结果是服务器对数据进行第一处理操作后得到的处理结果。相应地,计算节点还可以确定数据指示标识、第一处理指令和第二处理指令,根据该数据指示标识、该第一处理指令和第二处理指令,生成数据对象,该数据对象包括数据指示标识、第一处理指令和第二处理指令,后续可以基于该数据对象调用匹配的指定接口。
实际应用中,计算节点可以设置merge(合并)方法,作为对服务器的处理结果要执行的指令的框架,当向merge方法中添加了第二处理操作所需的属性和方法及其他元素后,添加后的merge方法即为第二处理指令,换句话说,只需提供一个继承自merge方法的子类,作为第二处理指令,而无需重新设置第二处理指令。
例如,当第一处理操作为获取类操作时,该数据对象可以如下所示:
又如,当第一处理操作为更新类操作时,该数据对象可以如下所示:
202、计算节点基于数据对象调用与第一处理操作匹配的指定接口。
计算节点会将数据对象传入指定接口,从而调用指定接口,而指定接口在基于数据对象运行时,能够请求服务器对数据指示标识对应的数据进行第一处理操作。
其中,该指定接口包括获取接口和更新接口中的任一个,获取接口与获取类操作匹配,用于实现一种或多种获取类操作,可以为GetResult get(Get getFunc),更新接口与更新类操作匹配,用于实现一种或多种更新类操作,可以为void update(UpdateupdateFunc)。
相应地,当数据对象包括的第一处理操作为获取类操作时,计算节点会基于数据对象调用获取接口;当数据对象包括的第一处理操作为更新类操作时,计算节点会基于数据对象调用更新接口。
203、在与第一处理操作匹配的指定接口的运行过程中,对数据指示标识和第一处理指令进行封装,得到数据处理请求,向数据指示标识对应的服务器发送数据处理请求。
当计算节点基于数据对象调用与第一处理操作匹配的指定接口后,指定接口开始运行,运行过程中首先会解析数据对象,得到数据对象中的数据指示标识和第一处理指令,对数据指示标识和第一处理指令进行封装,得到数据处理请求,发送给对应的服务器。
其中,计算节点与服务器之间可以采用指定协议进行通信,该指定协议规定了计算节点与服务器之间的通信数据的格式,则指定接口运行的过程中,可以采用指定协议对数据指示标识和第一处理指令进行处理,生成支持指定协议的数据包,该数据包即为封装得到的数据处理请求。
数据指示标识可以包括数据标识和数据集合标识中的至少一个,则针对不同形式的数据指示标识,步骤203可以包括以下三种情况:
第一种、如果数据指示标识包括数据标识,表示要对该数据标识对应的数据进行处理操作,则对数据标识和第一处理指令进行封装,得到数据处理请求。之后,可以向该数据标识对应的服务器发送数据处理请求,即向存储该数据的服务器发送数据处理请求,或者,也可以确定数据标识对应的数据集合标识,向数据集合标识对应的服务器发送数据处理请求,即向存储该数据所属数据集合的服务器发送数据处理请求。
在本发明实施例的分布式数据处理系统包括多个服务器的情况下,不同的数据可能存储于不同的服务器中,或者说不同的数据集合可能存储于不同的服务器。因此,计算节点可以确定数据标识和服务器之间的对应关系,数据标识对应的服务器即为存储对应数据的服务器,计算节点通过查询该对应关系确定数据标识对应的服务器,即为存储该数据的服务器,向该服务器发送数据处理请求。
在另一种可能实现方式中,计算节点可以确定数据标识和数据集合标识之间的对应关系,以及数据集合标识和服务器之间的对应关系,计算节点通过查询对应关系,可以先确定数据标识对应的数据集合标识,再确定该数据集合标识对应的服务器,该数据集合标识对应的服务器即为存储数据所属数据集合的服务器,则向该服务器发送数据处理请求。
实际应用中,数据指示标识中可以包括一个或多个数据标识,在包括多个数据标识的情况下,可以先确定多个数据标识对应的数据集合标识。
如果多个数据标识对应一个数据集合标识,表示多个数据属于同一数据集合,存储于同一服务器中,则可以对该多个数据标识和第一处理指令进行封装,得到数据处理请求,向该数据集合标识对应的服务器发送数据处理请求。
而如果多个数据标识对应多个数据集合标识,表示多个数据属于不同的数据集合,可能会存储于不同的服务器中,因此将对应于同一数据集合标识的数据标识和第一处理指令进行封装,进而得到多个数据处理请求,向每个数据集合标识对应的服务器发送对应的数据标识封装得到的数据处理请求。
第二种、如果数据指示标识包括数据集合标识,表示要对该数据集合标识对应的整个数据集合中的数据进行处理操作,则对数据集合标识和第一处理指令进行封装,得到数据处理请求,向数据集合标识对应的服务器发送数据处理请求。
其中,数据集合标识对应的服务器可以通过查询对应关系得到,具体查询方式与上述第一种情况的查询方式相同,在此不再赘述。
实际应用中,数据指示标识可以包括一个或多个数据集合标识,在包括多个数据集合标识的情况下,可以对每个数据集合标识和第一处理指令分别进行封装,得到多个数据处理请求,向每个数据集合标识对应的服务器发送对应数据集合标识封装得到的数据处理请求。
第三种、如果数据指示标识包括相互对应的数据集合标识和数据标识,表示要对该数据标识对应的数据进行处理操作,则对数据集合标识、数据标识和第一处理指令进行封装,得到数据处理请求,向数据集合标识对应的服务器发送数据处理请求,即向存储数据所属数据集合的服务器发送数据处理请求。
实际应用中,数据指示标识中可以包括一组或者多组相互对应的数据集合标识和数据标识,在包括多组相互对应的数据集合标识和数据标识的情况下,对每组数据集合标识和数据标识分别和第一处理指令进行封装,得到多个数据处理请求,向每组的数据集合标识对应的服务器发送每组封装得到的数据处理请求。
进一步地,数据指示标识中可以同时包括上述三种情况中的至少两种,例如数据指示标识中包括多个标识对象,每个标识对象中可以包括数据集合标识和数据标识中的任一个,则计算节点可以解析该数据指示标识,遍历该数据指示标识中的多个标识对象,生成标识列表,后续可以根据该标识列表依次发送对应的数据处理请求。
其中,生成标识列表时,对于当前遍历到的标识对象,如果标识对象中包括数据标识而不包括数据集合标识,则可以确定数据标识对应的数据集合标识,向标识列表中添加数据标识和对应的数据集合标识,如果标识对象中不包括数据标识而包括数据集合标识,则直接向标识列表中添加数据集合标识,如果标识对象中包括相互对应的数据标识和数据集合标识,则直接向标识列表中添加数据标识和对应的数据集合标识。
计算节点可以在指定接口中封装split(数据集合划分)方法,split方法用于执行上述生成标识列表的步骤。例如,当调用获取接口并在获取接口的运行过程中运行split方法时,会生成PartitionGetParam(数据集合获取参数)对象列表,该PartitionGetParam对象列表可以如下表1所示,该列表中的每个PartitionGetParam对象包括一个数据集合标识,或者包括相互对应的数据集合标识和数据标识。
表1
又如,当调用更新接口并在更新接口的运行过程中运行split方法时,会生成PartitionUpdateParam(数据集合更新参数)对象列表,PartitionUpdateParam对象列表与PartitionGetParam对象列表类似,可以如下表2所示,PartitionUpdateParam对象列表中的每个PartitionUpdateParam对象包括一个数据集合标识,或者包括相互对应的数据集合标识和数据标识。
表2
当通过遍历得到标识列表后,计算节点会从该标识列表中依次提取标识对象,针对提取的标识对象进行封装,得到数据处理请求,发送给标识对象中的数据集合标识对应的服务器,直到标识列表中的标识对象全部提取完为止。
204、服务器接收计算节点发送的数据处理请求,对数据处理请求进行解析,得到数据指示标识和第一处理指令。
当服务器接收到数据处理请求后,会对数据处理请求进行解封装操作,该解封装操作与上述步骤203中计算节点进行的封装操作相匹配,能够得到数据处理请求中的数据指示标识和第一处理指令。
205、服务器根据第一处理指令对数据指示标识指示的数据进行第一处理操作,得到第一处理结果。
得到第一处理结果后,服务器可以向计算节点发送该第一处理结果,以便计算节点获取该第一处理结果,并对该第一处理结果进行后续的处理操作。例如,该计算节点可以根据已设置的第二处理指令,对该第一处理结果进行第二处理操作。
另外,服务器得到第一处理结果后,也可以不向计算节点发送该第一处理结果。服务器是否要发送处理结果具体可以根据第一处理操作的类型确定。例如当第一处理操作为获取类操作时,服务器向计算节点发送第一处理结果,而第一处理操作为更新类操作时,服务器不向计算节点发送第一处理结果。
本发明实施例中,处理操作类型的不同导致处理方式也不同。当第一处理操作为获取类操作时,服务器和计算节点会执行下述步骤2051,当第一处理操作为更新类操作时,服务器和计算节点会执行下述步骤2052。
2051、第一处理操作包含指定获取方式,当指定获取方式为获取原始数据时,将数据指示标识指示的数据作为获取结果,向计算节点发送获取结果。或者,当指定获取方式为对原始数据的指定统计方式时,按照指定统计方式,对数据进行统计,将得到的统计值作为获取结果。
该指定获取方式根据实际需求确定,按照指定获取方式得到的获取结果即为第一处理结果。其中,该指定获取方式可以为获取原始数据或者对原始数据的指定统计方式,指定统计方式可以为获取数据的最大值、获取数据的最小值等。
在第一种可能的实现方式中,当数据指示标识包括数据标识时,服务器会查询到与数据标识唯一对应的数据,并根据指定获取方式进行处理得到获取结果。例如,当数据指示标识包括三个数据标识,分别为(1,2)、(1,3)和(1,4),指定获取方式为获取最大值时,服务器会查询在第1行第2列的数据1,在第1行第3列的数据2,在第1行第4列的数据3,获取数据1、数据2和数据3的最大值。
在第二种可能的实现方式中,当数据指示标识包括数据集合标识时,服务器会确定与数据集合标识对应的数据集合,并根据指定获取方式对数据集合中的多个数据进行处理得到获取结果。例如,当数据指示标识包括数据集合1,指定获取方式为获取最大值时,服务器会确定属于数据集合1的多个数据,获取这些数据的最大值。
在第三种可能的实现方式中,当数据指示标识包括数据集合标识和数据标识时,服务器确定与数据集合标识对应的数据集合,在该数据集合中确定数据标识对应的数据,并根据指定获取方式对该数据进行处理得到获取结果。
在步骤2051之后,该方法还可以包括:计算节点接收服务器发送的获取结果,根据第二处理指令,对获取结果进行第二处理操作。
其中,当计算节点要对多个服务器返回的获取结果进行第二处理操作时,考虑到服务器处理数据得到获取结果的过程可能比较耗时,计算节点可以每当接收到某个服务器返回的获取结果时,即对获取结果进行第二处理操作,也即是,可以在等待其他服务器返回获取结果的过程中,对已接收的获取结果进行第二处理操作,从而实现各个阶段的流水化,降低整个操作的耗时。当然,计算节点也可以当多个服务器均返回了获取结果后,再对多个获取结果统一地进行第二处理操作。
2052、服务器按照第一处理操作包含的指定更新方式,对数据进行更新,得到更新后的数据。
该指定更新方式同样根据实际需求确定,按照指定更新方式进行更新,更新后的数据即为第一处理结果。其中,该指定更新方式可以为将数据置为零、将数据乘以指定数值等等。
与上述步骤206类似,当数据指示标识包括数据标识时,服务器会对数据标识唯一对应的数据进行更新,当数据指示标识包括数据集合标识时,服务器会对数据集合标识对应的数据集合中的每个数据均进行更新。当数据指示标识包括数据集合标识和数据标识时,服务器会确定数据集合标识对应的数据集合,在该数据集合中确定数据标识对应的数据,并对该数据进行更新。
例如,当数据指示标识包括子矩阵1,指定更新方式为置为零时,服务器会确定属于子矩阵1的多个数据,将多个数据均置为零。
之后,服务器也可以向计算节点发送得到的第一处理结果,该第一处理结果可以为更新后的数据,也可以表示更新成功与否的通知消息。
需要说明的是,本发明实施例仅是以一个计算节点为例进行说明,而在实际的分布式数据处理系统中可以包括多个计算节点,每个计算节点均可采用本发明实施例提供的方法,通过获取接口或更新接口实现匹配的数据处理操作。
本发明实施例提供的方法,为获取类操作和更新类操作这两类处理操作设置两个通用的指定接口:获取接口和更新接口,分别用于实现多种获取类操作和多种更新类操作。则根据数据指示标识和处理指令生成数据对象,基于该数据对象调用与处理指令匹配的指定接口时,服务器即可实现与处理指令匹配的处理操作,无需为每个处理操作分别设置对应的接口,而且基于不同的处理指令调用同一指定接口可以实现不同的处理操作,提高了通用性,扩展了应用范围。
同时,由于获取接口和更新接口可以扩展更多的处理操作,进一步地进行优化,有利于减少不必要的网络开销,大幅度提升了运行的效率。例如,当要获取子矩阵的最大值时,相关技术中计算节点会基于子矩阵标识调用获取接口,服务器会向计算节点发送子矩阵内的各个数据,计算节点再从各个数据中获取最大值,由于传输的数据量过大,导致网络开销较大。而本发明实施例中,计算节点可以将子矩阵标识和计算最大值的指令预先封装到数据对象中,再调用获取接口,则服务器会计算子矩阵中各个数据中的最大值,并向计算节点返回最大值,减小了传输的数据量。
进一步地,借助本发明实施例提供的获取接口和更新接口,利用Java语言的多态特性,可以在不更改接口的情况下实现对服务器的基础功能的扩展。
进一步地,用户只需要向计算节点提交数据指示标识和处理指令,即可实现相应的处理操作,而不需要了解具体的处理流程,即整个数据处理方法对于用户是透明的,降低了用户的学习成本。例如,如果用户需要实现自定义的获取类操作,只需提供继承自partitionGet方法和merge方法的子类,由计算节点根据用户提供的内容以及已设置的获取接口即可实现该获取类操作;同理地,如果用户需要实现自定义的更新类操作,只需提供继承自partitionUpdate方法的子类,由计算节点根据用户提供的内容以及已设置的更新接口即可实现更新类操作。
进一步地,该获取接口和该更新接口可以协同工作,共同完成对数据的处理操作。例如,计算节点可以通过调用获取接口,获取服务器中的原始数据,并存储一份原始数据的副本,再对原始数据进行训练,得到更新后的数据,再基于更新后的数据调用更新接口,则服务器会对原始数据进行更新。采用上述方式,可以进行多次迭代,将更新后的数据存储于服务器中。
本发明实施例可以应用于对多种数据进行处理的场景下,数据的格式可以包括多种,如文本数据、图片数据、视频数据等,且数据的内容可以包括多种,如聊天数据、个人介绍数据、好友列表数据等。
在机器学习场景下,服务器为PS(Parameter Server,参数服务器),服务器中存储的数据为机器学习模型的模型参数,计算节点可以包括PS客户端,通过PS客户端可以与PS进行通信。其中,该机器学习模型可以为点击概率预测模型、用户年龄预测模型、用户性别预测模型、视频推荐模型等。以下实施例将对机器学习场景下的数据处理过程进行说明。
图2B是本发明实施例提供的一种机器学习场景下计算节点的操作流程图,参见图2B,以获取模型参数的最大值为例,该方法可以包括:
210、当计算节点要获取PS中模型参数的最大值时,确定要获取最大值的多个数据集合对应的多个数据集合标识、用来获取最大值的第一处理指令(partitionGet方法)、用来获取最大值的第二处理指令(merge方法),调用获取接口,执行获取接口中的split方法,通过该split方法得到数据集合标识列表。
211、从数据集合标识列表取出一个数据集合标识,将其与partitionGet方法一起封装成一个数据处理请求。
212、将该数据处理请求发送给取出的数据集合标识对应的PS。
213、判断数据集合标识列表中的所有数据集合标识对应的数据处理请求是否都发送完毕,如果是,执行步骤214,如果否,继续执行步骤211。
214、等待数据处理请求的处理结果,当所有的数据处理请求的处理结果已收到时,执行merge方法得到处理结果中的最大值,结束。
相应地,图2C是本发明实施例提供的一种机器学习场景下PS的操作流程图,参见图2C,该方法可以包括:
215、PS接收到计算节点发送的数据处理请求时,接收并解析该数据处理请求,该数据处理请求中封装有数据集合标识和partitionGet方法。
216、执行partitionGet方法,得到数据集合中的最大值,即为处理结果。
217、将处理结果返回给计算节点,结束。
图2D是本发明实施例提供的另一种机器学习场景下计算节点的操作流程图,参见图2D,以更新模型参数为例,该方法可以包括:
218、计算节点采用机器学习算法计算出多个数据集合中的模型参数更新后的值,此时要将PS中的模型参数更新为新计算出的值,则获取模型参数对应的多个数据集合标识和用于将模型参数的值更新为新计算值的第一处理指令(partitionUpdate方法),调用更新接口,执行更新接口中的split方法,通过该split方法得到数据集合标识列表。
219、从数据集合标识列表取出一个数据集合标识,将其与partitionUpdate方法一起封装成一个数据处理请求。
220、将该数据处理请求发送给取出的数据集合标识对应的PS。
221、判断数据集合标识列表中的所有数据集合标识对应的数据处理请求是否都发送完毕,如果是,执行步骤222,如果否,继续执行步骤219。
222、等待数据处理请求的处理结果,当所有的数据处理请求的处理结果已收到时,结束。
相应地,图2E是本发明实施例提供的一种机器学习场景下PS的操作流程图,参见图2E,该方法可以包括:
223、PS接收到计算节点发送的数据处理请求时,接收并解析该数据处理请求,该数据处理请求中封装有数据集合标识和partitionUpdate方法。
224、执行partitionUpdate方法,将数据集合中的模型参数更新为新计算出的值,得到处理结果。
225、将处理结果返回给计算节点,结束。
由于机器学习算法种类繁多,每一个算法都有自己独特的参数统计和更新需求,一般的PS提供的接口难以很好的满足所有机器学习算法的需求。如果服务器未设置所需的接口时,需要在服务器和计算节点上设置所需的接口,而本发明实施例可以在不更改服务器和计算节点上的接口的情况下,根据机器学习算法的需求方便地对获取接口和更新接口可实现的处理操作进行扩展,大幅提高了机器学习算法开发的效率。
图3A是本发明实施例提供的一种数据处理装置的结构示意图。参见图3A,该装置应用于计算节点中,该装置包括:生成模块301、调用模块302、封装模块303和发送模块304。
生成模块301,用于执行上述图2A所示实施例中生成数据对象的步骤;
调用模块302,用于执行上述图2A所示实施例中调用指定接口的步骤;
封装模块303,用于执行上述图2A所示实施例中对数据指示标识和第一处理指令进行封装的步骤;
发送模块304,用于执行上述图2A所示实施例中向服务器发送数据处理请求的步骤。
可选地,该封装模块303,用于执行上述图2A所示实施例中对数据标识和第一处理指令进行封装的步骤;
该发送模块304,包括:
确定子模块,用于执行上述图2A所示实施例中确定数据集合标识的步骤;
发送子模块,用于执行上述图2A所示实施例中向数据集合标识对应的服务器发送数据处理请求的步骤。
可选地,该封装模块303,用于执行上述图2A所示实施例中对数据集合标识和第一处理指令进行封装的步骤;该发送模块304,用于执行上述图2A所示实施例中向数据集合标识对应的服务器发送数据处理请求的步骤。
可选地,该封装模块303,用于执行上述图2A所示实施例中对数据集合标识、数据标识和第一处理指令进行封装的步骤;该发送模块304,用于执行上述图2A所示实施例中向数据集合标识对应的服务器发送数据处理请求的步骤。
可选地,参见图3B,该生成模块301,用于执行上述图2A所示实施例中根据数据指示标识、第一处理指令和第二处理指令生成数据对象的步骤;
该装置还包括:
接收模块305,用于执行上述图2A所示实施例中接收第一处理结果的步骤;
处理模块306,用于执行上述图2A所示实施例中对第一处理结果进行第二处理操作的步骤。
图4A是本发明实施例提供的一种数据处理装置的结构示意图。参见图4A,该装置应用于服务器中,该装置包括:接收模块401、解析模块402和处理模块403。
接收模块401,用于执行上述图2A所示实施例中接收数据处理请求的步骤;
解析模块402,用于执行上述图2A所示实施例中对数据处理请求进行解析的步骤;
处理模块403,用于执行上述图2A所示实施例中对数据进行第一处理操作的步骤;
可选地,参见图4B,该装置还包括:
发送模块404,用于执行上述图2A所示实施例中发送第一处理结果的步骤;
可选地,该处理模块403,用于执行上述图2A所示实施例中对数据进行更新的步骤;
可选地,该处理模块403,用于执行上述图2A所示实施例中得到获取结果的步骤。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的数据处理装置在处理数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算节点或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种终端的结构示意图。该终端可以用于实施上述实施例所示出的数据处理方法中的计算节点所执行的功能。具体来讲:
终端500可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,如上述示例性实施例所示出的终端所对应的软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理,如实现基于视频的交互等。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入终端132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的链接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入终端132。具体地,其他输入终端132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图5中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端500还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端500移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端500之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端500的通信。
终端500通过传输模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线或有线的宽带互联网访问。虽然图5示出了传输模块170,但是可以理解的是,其并不属于终端500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端500的控制中心,利用各种接口和线路链接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端500还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端500的显示单元是触摸屏显示器,终端500还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于实施上述实施例中计算节点所执行操作的指令。
图6是本发明实施例提供的一种服务器的结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
该服务器600可以用于执行上述实施例提供的数据处理方法中服务器所执行的步骤。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种数据处理方法,其特征在于,应用于计算节点中,所述方法包括:
根据数据指示标识和第一处理指令,生成数据对象,所述数据指示标识用于指示待处理的数据,所述第一处理指令用于指示对所述数据进行第一处理操作,所述第一处理操作为获取类操作或更新类操作;
基于所述数据对象调用与所述第一处理操作匹配的指定接口,所述指定接口包括与所述获取类操作匹配的获取接口和与所述更新类操作匹配的更新接口中的任一个;
在与所述第一处理操作匹配的指定接口的运行过程中,对所述数据指示标识和所述第一处理指令进行封装,得到数据处理请求,向所述数据指示标识对应的服务器发送所述数据处理请求,所述服务器用于存储所述数据,根据所述第一处理指令对所述数据进行所述第一处理操作,得到第一处理结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述数据指示标识和所述第一处理指令进行封装,得到数据处理请求,向所述数据指示标识对应的服务器发送所述数据处理请求,包括:
如果所述数据指示标识包括数据标识,对所述数据标识和所述第一处理指令进行封装,得到数据处理请求,所述数据标识用于指示对应的数据;
确定所述数据标识对应的数据集合标识,所述数据集合标识用于指示所述数据所属的数据集合;
向所述数据集合标识对应的服务器发送所述数据处理请求,所述数据集合标识对应的服务器用于存储所述数据集合。
3.根据权利要求1所述的方法,其特征在于,所述对所述数据指示标识和所述第一处理指令进行封装,得到数据处理请求,向所述数据指示标识对应的服务器发送所述数据处理请求,包括:
如果所述数据指示标识包括数据集合标识,对所述数据集合标识和所述第一处理指令进行封装,得到数据处理请求,所述数据集合标识用于指示对应的数据集合;
向所述数据集合标识对应的服务器发送所述数据处理请求。
4.根据权利要求1所述的方法,其特征在于,所述对所述数据指示标识和所述第一处理指令进行封装,得到数据处理请求,向所述数据指示标识对应的服务器发送所述数据处理请求,包括:
如果所述数据指示标识包括相互对应的数据集合标识和数据标识,对所述数据集合标识、所述数据标识和所述第一处理指令进行封装,得到数据处理请求,所述数据标识用于指示对应的数据,所述数据集合标识用于指示对应的数据集合;
向所述数据集合标识对应的服务器发送所述数据处理请求。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据数据指示标识和第一处理指令,生成数据对象,包括:
根据所述数据指示标识、所述第一处理指令和第二处理指令,生成所述数据对象,所述第二处理指令用于指示对第一处理结果进行第二处理操作;
所述向所述数据指示标识对应的服务器发送所述数据处理请求之后,所述方法还包括:
接收所述服务器发送的所述第一处理结果;
根据所述第二处理指令,对所述第一处理结果进行所述第二处理操作。
6.一种数据处理方法,其特征在于,应用于服务器中,所述方法包括:
接收计算节点发送的数据处理请求;
对所述数据处理请求进行解析,得到数据指示标识和第一处理指令,所述数据指示标识用于指示待处理的数据,所述第一处理指令用于指示对所述数据进行第一处理操作,所述第一处理操作为获取类操作或更新类操作;
根据所述第一处理指令,对所述数据指示标识指示的所述数据进行所述第一处理操作,得到第一处理结果;
其中,所述计算节点用于根据所述数据指示标识和所述第一处理指令,生成数据对象,基于所述数据对象调用与所述第一处理操作匹配的指定接口,在与所述第一处理操作匹配的指定接口的运行过程中,对所述数据指示标识和所述第一处理指令进行封装,得到所述数据处理请求,所述指定接口包括与所述获取类操作匹配的获取接口和与所述更新类操作匹配的更新接口中的任一个。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一处理指令,对所述数据指示标识指示的所述数据进行所述第一处理操作,得到第一处理结果之后,所述方法还包括:
向所述计算节点发送所述第一处理结果。
8.根据权利要求6所述的方法,其特征在于,所述第一处理操作为更新类操作,且所述第一处理操作包含指定更新方式,所述根据所述第一处理指令,对所述数据指示标识指示的所述数据进行所述第一处理操作,得到第一处理结果,包括:
按照所述指定更新方式,对所述数据进行更新,得到更新后的数据。
9.根据权利要求6所述的方法,其特征在于,所述第一处理操作为获取类操作,且所述第一处理操作包含指定获取方式,所述根据所述第一处理指令,对所述数据指示标识指示的所述数据进行所述第一处理操作,得到第一处理结果,包括:
当所述指定获取方式为获取原始数据时,将所述数据作为获取结果;或者,
当所述指定获取方式为对原始数据的指定统计方式时,按照所述指定统计方式,对所述数据进行统计,将得到的统计值作为获取结果。
10.一种数据处理装置,其特征在于,应用于计算节点中,所述装置包括:
生成模块,用于根据数据指示标识和第一处理指令,生成数据对象,所述数据指示标识用于指示待处理的数据,所述第一处理指令用于指示对所述数据进行第一处理操作,所述第一处理操作为获取类操作或更新类操作;
调用模块,用于基于所述数据对象调用与所述第一处理操作匹配的指定接口,所述指定接口包括与所述获取类操作匹配的获取接口和与所述更新类操作匹配的更新接口中的任一个;
封装模块,用于在与所述第一处理操作匹配的指定接口的运行过程中,对所述数据指示标识和所述第一处理指令进行封装,得到数据处理请求;
发送模块,用于向所述数据指示标识对应的服务器发送所述数据处理请求,所述服务器用于存储所述数据,根据所述第一处理指令对所述数据进行所述第一处理操作,得到第一处理结果。
11.根据权利要求10所述的装置,其特征在于,所述封装模块,用于如果所述数据指示标识包括数据标识,对所述数据标识和所述第一处理指令进行封装,得到数据处理请求,所述数据标识用于指示对应的数据;
所述发送模块,包括:
确定子模块,用于确定所述数据标识对应的数据集合标识,所述数据集合标识用于指示所述数据所属的数据集合;
发送子模块,用于向所述数据集合标识对应的服务器发送所述数据处理请求,所述数据集合标识对应的服务器用于存储所述数据集合。
12.根据权利要求9所述的装置,其特征在于,所述封装模块,还用于如果所述数据指示标识包括相互对应的数据集合标识和数据标识,对所述数据集合标识、所述数据标识和所述第一处理指令进行封装,得到数据处理请求,所述数据标识用于指示对应的数据,所述数据集合标识用于指示对应的数据集合;
所述发送模块,用于向所述数据集合标识对应的服务器发送所述数据处理请求。
13.根据权利要求10-12任一项所述的装置,其特征在于,所述生成模块,用于根据所述数据指示标识、所述第一处理指令和第二处理指令,生成所述数据对象,所述第二处理指令用于指示对第一处理结果进行第二处理操作;
所述装置还包括:
接收模块,用于接收所述服务器发送的所述第一处理结果;
处理模块,用于根据所述第二处理指令,对所述第一处理结果进行所述第二处理操作。
14.一种数据处理装置,其特征在于,应用于服务器中,所述装置包括:
接收模块,用于接收计算节点发送的数据处理请求;
解析模块,用于对所述数据处理请求进行解析,得到数据指示标识和第一处理指令,所述数据指示标识用于指示待处理的数据,所述第一处理指令用于指示对所述数据进行第一处理操作,所述第一处理操作为获取类操作或更新类操作;
处理模块,用于根据所述第一处理指令,对所述数据指示标识指示的所述数据进行所述第一处理操作,得到第一处理结果。
其中,所述计算节点用于根据所述数据指示标识和所述第一处理指令,生成数据对象,基于所述数据对象调用与所述第一处理操作匹配的指定接口,在与所述第一处理操作匹配的指定接口的运行过程中,对所述数据指示标识和所述第一处理指令进行封装,得到所述数据处理请求,所述指定接口包括与所述获取类操作匹配的获取接口和与所述更新类操作匹配的更新接口中的任一个。
15.根据权利要求14所述的装置,其特征在于,所述处理模块,用于当所述第一处理操作为更新类操作,且所述第一处理操作包含指定更新方式时,按照所述指定更新方式,对所述数据进行更新,得到更新后的数据;或者,
所述处理模块,用于当所述第一处理操作为获取类操作,且所述第一处理操作包含指定获取方式,所述指定获取方式为获取原始数据时,将所述数据作为获取结果;或者,当所述第一处理操作为获取类操作,且所述第一处理操作包含指定获取方式,所述指定获取方式为对原始数据的指定统计方式时,按照所述指定统计方式,对所述数据进行统计,将得到的统计值作为获取结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710327036.4A CN108287706B (zh) | 2017-05-10 | 2017-05-10 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710327036.4A CN108287706B (zh) | 2017-05-10 | 2017-05-10 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108287706A true CN108287706A (zh) | 2018-07-17 |
CN108287706B CN108287706B (zh) | 2021-09-14 |
Family
ID=62831433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710327036.4A Active CN108287706B (zh) | 2017-05-10 | 2017-05-10 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108287706B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242004A (zh) * | 2018-08-21 | 2019-01-18 | 深圳市华云中盛科技有限公司 | 数据特征构建方法、装置、计算机设备及存储介质 |
CN109284097A (zh) * | 2018-09-07 | 2019-01-29 | 武汉轻工大学 | 实现复杂数据分析的方法、设备、系统及存储介质 |
CN110099122A (zh) * | 2019-05-07 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 用于发送网络请求的方法和装置 |
CN110652728A (zh) * | 2019-09-24 | 2020-01-07 | 北京金山安全软件有限公司 | 一种游戏资源管理方法、装置、电子设备及存储介质 |
CN111782907A (zh) * | 2020-07-01 | 2020-10-16 | 北京知因智慧科技有限公司 | 新闻分类方法、装置及电子设备 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999015992A1 (en) * | 1997-09-24 | 1999-04-01 | British Telecommunications Public Limited Company | Data processing system |
CN1416055A (zh) * | 2001-10-31 | 2003-05-07 | 索尼株式会社 | 数据处理装置,数据处理方法和程序 |
CN101335742A (zh) * | 2007-06-25 | 2008-12-31 | 中兴通讯股份有限公司 | 一种轻量级目录访问协议下访问目录的系统及方法 |
US20110145500A1 (en) * | 2008-09-12 | 2011-06-16 | Seiji Miura | Semiconductor device and data processing system |
CN102253869A (zh) * | 2010-05-19 | 2011-11-23 | 微软公司 | 可缩放的容错元数据服务 |
CN102932472A (zh) * | 2012-11-13 | 2013-02-13 | 深圳市路友网络科技有限公司 | 一种数据处理方法以及通信系统 |
CN103942035A (zh) * | 2014-04-11 | 2014-07-23 | 华为技术有限公司 | 处理指令的方法、编译器及指令处理器 |
US8793328B2 (en) * | 2010-12-17 | 2014-07-29 | Facebook, Inc. | Distributed storage system |
CN104270443A (zh) * | 2014-09-29 | 2015-01-07 | 北京掌中经纬技术有限公司 | 一种能够动态解析Web应用的云计算系统及方法 |
CN104270453A (zh) * | 2014-10-11 | 2015-01-07 | 苏州科达科技股份有限公司 | 一种多级服务器间数据通信方法及服务器 |
CN104270455A (zh) * | 2014-10-14 | 2015-01-07 | 税友软件集团股份有限公司 | 一种数据传输方法、装置及系统 |
CN104468648A (zh) * | 2013-09-13 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据处理系统及方法 |
CN104598631A (zh) * | 2015-02-05 | 2015-05-06 | 北京航空航天大学 | 分布式数据处理平台 |
CN104598513A (zh) * | 2014-11-03 | 2015-05-06 | 腾讯科技(成都)有限公司 | 一种基于网页框架的数据流控制方法和系统 |
CN104782087A (zh) * | 2013-07-19 | 2015-07-15 | 华为技术有限公司 | 交换设备、控制器、交换设备配置、报文处理方法及系统 |
CN105260136A (zh) * | 2015-09-24 | 2016-01-20 | 北京百度网讯科技有限公司 | 数据读写方法及分布式存储系统 |
US9311367B2 (en) * | 2005-03-30 | 2016-04-12 | Hewlett-Packard Development Company, L.P. | Database extension structure |
CN105635050A (zh) * | 2014-10-29 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 数据交互方法及系统 |
US20160323249A1 (en) * | 2015-04-30 | 2016-11-03 | Icharts, Inc. | Secure connections in an interactive analytic visualization infrastructure |
CN106294740A (zh) * | 2016-08-10 | 2017-01-04 | 北京创锐文化传媒有限公司 | 数据处理方法、装置及服务器 |
CN106534281A (zh) * | 2016-10-25 | 2017-03-22 | 广东欧珀移动通信有限公司 | 一种数据请求的响应方法、装置及系统 |
-
2017
- 2017-05-10 CN CN201710327036.4A patent/CN108287706B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999015992A1 (en) * | 1997-09-24 | 1999-04-01 | British Telecommunications Public Limited Company | Data processing system |
CN1416055A (zh) * | 2001-10-31 | 2003-05-07 | 索尼株式会社 | 数据处理装置,数据处理方法和程序 |
US9311367B2 (en) * | 2005-03-30 | 2016-04-12 | Hewlett-Packard Development Company, L.P. | Database extension structure |
CN101335742A (zh) * | 2007-06-25 | 2008-12-31 | 中兴通讯股份有限公司 | 一种轻量级目录访问协议下访问目录的系统及方法 |
US20110145500A1 (en) * | 2008-09-12 | 2011-06-16 | Seiji Miura | Semiconductor device and data processing system |
CN102253869A (zh) * | 2010-05-19 | 2011-11-23 | 微软公司 | 可缩放的容错元数据服务 |
US8793328B2 (en) * | 2010-12-17 | 2014-07-29 | Facebook, Inc. | Distributed storage system |
CN102932472A (zh) * | 2012-11-13 | 2013-02-13 | 深圳市路友网络科技有限公司 | 一种数据处理方法以及通信系统 |
CN104782087A (zh) * | 2013-07-19 | 2015-07-15 | 华为技术有限公司 | 交换设备、控制器、交换设备配置、报文处理方法及系统 |
CN104468648A (zh) * | 2013-09-13 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据处理系统及方法 |
CN103942035A (zh) * | 2014-04-11 | 2014-07-23 | 华为技术有限公司 | 处理指令的方法、编译器及指令处理器 |
CN104270443A (zh) * | 2014-09-29 | 2015-01-07 | 北京掌中经纬技术有限公司 | 一种能够动态解析Web应用的云计算系统及方法 |
CN104270453A (zh) * | 2014-10-11 | 2015-01-07 | 苏州科达科技股份有限公司 | 一种多级服务器间数据通信方法及服务器 |
CN104270455A (zh) * | 2014-10-14 | 2015-01-07 | 税友软件集团股份有限公司 | 一种数据传输方法、装置及系统 |
CN105635050A (zh) * | 2014-10-29 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 数据交互方法及系统 |
CN104598513A (zh) * | 2014-11-03 | 2015-05-06 | 腾讯科技(成都)有限公司 | 一种基于网页框架的数据流控制方法和系统 |
CN104598631A (zh) * | 2015-02-05 | 2015-05-06 | 北京航空航天大学 | 分布式数据处理平台 |
US20160323249A1 (en) * | 2015-04-30 | 2016-11-03 | Icharts, Inc. | Secure connections in an interactive analytic visualization infrastructure |
CN105260136A (zh) * | 2015-09-24 | 2016-01-20 | 北京百度网讯科技有限公司 | 数据读写方法及分布式存储系统 |
CN106294740A (zh) * | 2016-08-10 | 2017-01-04 | 北京创锐文化传媒有限公司 | 数据处理方法、装置及服务器 |
CN106534281A (zh) * | 2016-10-25 | 2017-03-22 | 广东欧珀移动通信有限公司 | 一种数据请求的响应方法、装置及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242004A (zh) * | 2018-08-21 | 2019-01-18 | 深圳市华云中盛科技有限公司 | 数据特征构建方法、装置、计算机设备及存储介质 |
CN109284097A (zh) * | 2018-09-07 | 2019-01-29 | 武汉轻工大学 | 实现复杂数据分析的方法、设备、系统及存储介质 |
CN110099122A (zh) * | 2019-05-07 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 用于发送网络请求的方法和装置 |
CN110652728A (zh) * | 2019-09-24 | 2020-01-07 | 北京金山安全软件有限公司 | 一种游戏资源管理方法、装置、电子设备及存储介质 |
CN110652728B (zh) * | 2019-09-24 | 2023-06-27 | 北京金山安全软件有限公司 | 一种游戏资源管理方法、装置、电子设备及存储介质 |
CN111782907A (zh) * | 2020-07-01 | 2020-10-16 | 北京知因智慧科技有限公司 | 新闻分类方法、装置及电子设备 |
CN111782907B (zh) * | 2020-07-01 | 2024-03-01 | 北京知因智慧科技有限公司 | 新闻分类方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108287706B (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287706B (zh) | 数据处理方法及装置 | |
CN112532564B (zh) | 业务调用方法、装置及电子设备 | |
US10304461B2 (en) | Remote electronic service requesting and processing method, server, and terminal | |
CN105471931B (zh) | 一种查询业务数据的方法、装置和系统 | |
CN106708676B (zh) | 接口测试方法及装置 | |
CN108039963B (zh) | 一种容器配置方法、装置及存储介质 | |
CN107204964B (zh) | 一种权限管理的方法、装置和系统 | |
CN111078556B (zh) | 应用测试方法及装置 | |
CN103455330A (zh) | 应用程序管理方法、终端、设备及系统 | |
CN110020293B (zh) | 多媒体数据展示方法、装置及存储介质 | |
CN109088844B (zh) | 信息拦截方法、终端、服务器及系统 | |
CN107666406B (zh) | 智能卡片显示方法及装置 | |
CN108874653B (zh) | 任务测试方法、测试机、共享服务器和可读存储介质 | |
CN106953898B (zh) | 一种获取软件包的方法和装置 | |
CN113313804A (zh) | 一种图像渲染方法、装置、电子设备和存储介质 | |
CN104901992B (zh) | 一种资源转移的方法和装置 | |
CN111464328A (zh) | 可配置监控项的云监控流程控制方法及装置 | |
CN111273955A (zh) | 热修复插件优化方法、装置、存储介质及电子设备 | |
CN110196662B (zh) | 一种展示同步状态的方法、装置、终端及存储介质 | |
CN107122036B (zh) | 中央处理器频率调节方法及装置 | |
CN105025064B (zh) | 下载文件的方法、装置及系统 | |
CN115589432A (zh) | 消息推送管理方法、装置、介质及设备 | |
CN115065609A (zh) | B端SaaS系统混合部署方法及系统 | |
CN112328304B (zh) | 一种脚本适配方法、系统、设备及计算机存储介质 | |
CN105740396B (zh) | Http数据处理方法及装置 |
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 |