掌桥专利:专业的专利平台
掌桥专利
首页

数据拆分方法、装置、电子设备和可读存储介质

文献发布时间:2023-06-19 13:46:35


数据拆分方法、装置、电子设备和可读存储介质

技术领域

本申请涉及电子设备技术领域,具体而言,涉及一种数据拆分方法、一种数据拆分装置、一种电子设备和一种可读存储介质。

背景技术

随着数字化技术与云计算的自身的不断进步,与各个行业应用场景相结合的推进,随着业务的扩张以及多方向发展,由此产生的业务数据量越来越大。应此而生的分布式数据库、大数据处理技术,都需要将海量的关系模型数据、结构化数据和非结构化数据以某种的方式(维度)将数据进行拆分,以满足数据落地到单个物理机器上(有限的数据存储、计算处理能力)。

相关技术中,在分布式数据库行业通常会按照按范围、散列取模、时间等方式进行水平拆分,直接将“大”的数据拆“小”。但对于所有数据均采用统一的Hash取模、范围、一致性Hash、时间等方式,没有充分考虑业务数据自身的特点,使得数据的分布与业务数据自身的特点关联较弱,部分场景下不能满足拆分要求。

发明内容

本申请实施例提供了一种数据拆分方法、装置、电子设备和可读存储介质,能够结合数据自身的特性或局部过热数据的分布规律配置不同的拆分规则,并将数据打散到各个节点上,使得拆分后的数据分布更加均衡。

第一方面,本申请实施例提供了一种数据拆分方法,包括:

获取待拆分数据的第一字段值;

根据第一字段值的分布信息,对第一字段值进行拆分处理,以得到多组目标值;

将多组目标值映射至数据库,以确定多个目标数据。

第二方面,本申请实施例提供了一种数据拆分装置,包括:

获取模块,用于获取待拆分数据的第一字段值;

拆分模块,用于根据第一字段值的分布信息,对第一字段值进行拆分处理,以得到多组目标值;

映射模块,用于将多个目标值映射至数据库,以确定多个目标数据。

第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器及存储在该存储器上并在处理器上运行的程序或指令,该程序或指令被处理器执行时实现如第一方面提供的数据拆分方法的步骤。

第四方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,该程序或指令被处理器执行时实现如第一方面提供的数据拆分方法的步骤。

第五方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面提供的数据拆分方法的步骤。

在本申请实施例中,获取待拆分数据的第一字段值;根据第一字段值的分布信息,对第一字段值进行拆分处理,以得到多组目标值;将多组目标值映射至数据库,确定多个目标数据。利用待拆分数据的第一字段值反映实体数据的属性、分布等信息。在数据拆分过程中,通过数据分布等情况,在值域,也即第一字段值的取值范围基础上进行拆分处理,将值域分成多个区间。将不同区间中的目标值映射至数据库,以将待拆分数据拆分为多个目标数据。从而能够结合数据自身的特性或局部过热数据的分布规律配置不同的拆分规则,以将数据打散到各个节点上,使拆分后的目标数据尽可能地保留自身的特征,避免全部打散,数据分布更加均衡,而且更贴近业务场景,满足不同场景下的拆分需求,有效提高数据拆分的便利性。

附图说明

图1示出了根据本申请的一个实施例的数据拆分方法的流程图之一;

图2示出了根据本申请的一个实施例的数据拆分方法的流程图之二;

图3示出了根据本申请的一个实施例的数据拆分方法的流程图之三;

图4示出了根据本申请的一个实施例的数据拆分方法的流程图之四;

图5示出了根据本申请的一个实施例的数据拆分方法的流程图之五;

图6示出了根据本申请的一个实施例的数据拆分方法的流程图之六;

图7示出了根据本申请的一个实施例的数据拆分方法的流程图之七;

图8示出了根据本申请的一个具体实施例的数据拆分示意图;

图9示出了根据本申请的一个实施例的数据拆分装置的结构框图;

图10示出了根据本申请的一个实施例的电子设备的结构框图;

图11示出了根据本申请的一个实施例的电子设备的硬件结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

下面参照图1至图11描述根据本申请一些实施例数据拆分方法、数据拆分装置、电子设备和可读存储介质。

在本申请的一个实施例中,图1示出了本申请实施例的数据拆分方法的流程图之一,包括:

步骤102,获取待拆分数据的第一字段值;

其中,第一字段值为待拆分数据虚表中的数值,通过字符串表示。虚表(非真实的物理表)即为水平扩展的表,用于映射数据物理表,相当于数据库物理表的配置表。虚表中的字段值能够便于识别到待拆分数据的实体表对应的数据大小、数据分布等特征信息。

可以理解的是,在数据拆分过程中,需要先确定待拆分数据是否为虚表,若非虚表则使用垂直扩展,暂忽略。

步骤104,根据第一字段值的分布信息,对第一字段值进行拆分处理,以得到多组目标值;

其中,分布信息包括但不限于以下至少一种:第一字段值聚类处理后以得到的至少一个取值区间、每个取值区间内第一字段值的数量和每个取值区间内所有第一字段值的重叠部分等,分布信息用于指示虚表中不同大小的字段值的分布规律。以用户服务号码信息(第一字段值)为0755-167xxx91、0755-255xxx27、020-855xxx45三个号码为例,聚类处理后得到0755的区间和020的区间,0755的区间中存在2个号码,020的区间存在2个号码,0755即0755的区间中第一字段值的重叠部分。

步骤106,将多组目标值映射至数据库,以确定多个目标数据。

其中,多个目标数据为该待拆分数据拆分后的多个数据。

在该实施例中,由于待拆分数据的第一字段值反映实体数据的属性、分布规则等信息,从而在数据拆分过程中,可通过数据分布等情况,在值域,也即第一字段值的取值范围基础上进行拆分处理,将值域分成多个区间。将不同区间中的目标值映射至数据库,以将待拆分数据拆分为多个目标数据。进而能够结合数据自身的特性或局部过热数据的分布规律配置不同的拆分规则,以将数据打散到各个节点上,使拆分后的目标数据尽可能地保留自身的特征,避免全部打散,数据分布更加均衡,而且更贴近业务场景,满足不同场景下的拆分需求,有效提高数据拆分的便利性。

具体地,该数据拆分方法适用于电子设备,电子设备包括但不限于移动终端、平板电脑、计算机、笔记本电脑、可穿戴设备或车载终端等。

在本申请的一个实施例中,如图2所示,步骤104,根据第一字段值的分布信息,对第一字段值进行拆分处理,以得到多组目标值,包括:

步骤202,根据第一字段值的分布信息和预设条件,确定拆分方式;

其中,预设条件可按照拆分方式的适用条件和用户需求合理设置。例如,预设条件可以是第一字段值中存在重复数值或分布信息中存在满足指定范围的区间。

步骤204,根据拆分方式,对第一字段值进行拆分处理,形成多组第二字段值;

在该实施例中,通过第一字段值的分布信息匹配第一字段值的拆分方式(拆分规则),以在拆分过程中,利用适当的拆分方式对第一字段值进行拆分,以使拆分后的第二字段值分布均衡。从而结合数据自身的特性或局部过热数据的分布规律动态调整本次拆分的方式,实现而非固定的拆分,保证数据拆分后的均衡性。

步骤206,根据预设范围将每组第二字段值划分为多组目标值。在该实施例中,在得到第二字段值后,按照预设范围对拆分后的每一组第二字段值再次进行拆分,以得到多组目标值,也即每个预设范围即为一组目标值的取值范围。从而完成虚表中字段值的个性化拆分。经过上述的处理能有效地将特性化的实体业务表以一种更均衡地映射到多个节点之上,有效地解决了原有数据的均衡化分布。

具体地,预设范围可根据第二字段值的分布信息和/或用户对拆分数据的需求来确定。以分布式关系数据库业务场景下的省市用户服务号码信息(t_acc_nbr)表(表1)为例,含有以下属性:

表1

具体举例来说,以用户服务号码信息为为例,用户服务号码信息(第一字段值)为0755-1、0755-2、0755-3、0755-4、0755-5、020-8六个号码为例,可认为本地网标识为区号,如020、0755等。用户号码如1、2、3、4、5、8。在对区号对应的子数据进行拆分后,分成0755组(第一组第二字段值)和020组(第二组第二字段值)。由于0755区间内的第一字段值的数量较多(5个大于1个),说明这个区间内字段值较为集中,为了将数据拆分成一个值,则预设范围可设定为用户号码,按照用户号码再次被拆分为5个目标值,分别为0755-1、0755-2、0755-3、0755-4、0755-5。020区间内的字段值的量较少,则直接将020-8作为020组的预设范围。

在本申请的一个实施例中,如图3所示,步骤202,根据第一字段值的分布信息和预设条件,确定拆分方式,包括:

步骤302,在第一字段值的分布信息满足预设条件的情况下,确定拆分方式为枚举;

步骤304,在第一字段值的分布信息不满足预设条件的情况下,确定拆分方式为取模。

在该实施例中,根据虚表中获取的第一字段值的分布信息匹配出用于确定拆分方式的条件。比对第一字段值和预设条件,在第一字段值的分布信息符合预设条件的情况下,采用枚举的拆分方式,在第一字段值的分布信息不符合预设条件的情况下,采用取模的拆分方式。从而通过第一字段值的分布信息匹配对应的拆分方式(拆分规则),以在拆分过程中,利用适当的拆分方式对第一字段值进行拆分,以使拆分后的第二字段值分布均衡。从而结合数据自身的特性或局部过热数据的分布规律动态调整本次拆分的方式,实现而非固定的拆分,保证数据拆分后的均衡性。

需要说明的是,枚举拆分和取模拆分采用现有的常规算法,本申请不做具体限定。

例如,考虑到第一字段值中存在重复的值时,枚举的方式拆分后容易可能会得到相同的第二字段值,不利于后续继续拆分,则可将预设条件为配置为第一字段值中不存在重复数值。在拆分过程中,若出现重复数值,则采用取模的方式进行拆分,反之则采用枚举的方式进行拆分。

可以理解的是,可以通过DSL(domain-specific language,领域特定语言)来实现确定拆分方式的过程,也即通过DSL配置带拆分数据的拆分规则。

在本申请的一个实施例中,图4示出了本申请实施例的数据拆分方法的流程图之四,包括:

步骤402,根据待拆分数据的属性信息,确定待拆分数据中的多个子数据;

其中,属性信息包括虚表名、数据类型、数据量等。

步骤404,确定多个子数据之间的从属关系;

其中,从属关系用于表示不同属性子数据的依赖性。例如,子数据B从属于子数据A,那么子数据A中包含子数据B。

步骤406,根据从属关系,确定多个子数据的拆分顺序;

步骤408,按照拆分顺序,根据每个子数据对应的第一字段值的分布信息,对每个子数据对应的第一字段值进行拆分处理。

在该实施例中,根据待拆分数据的属性信息,对待拆分数据进行分类,得到不同属性的多个子数据。确定不同属性的子数据之间的从属关系。按照该从属关系确定多个子数据的拆分顺序。从而利用多个属性子数据之间的逻辑关系,对单个属性子数据应用一次拆分,将值域分成多组目标值,并在目标值基础上,再应用第二个属性子数据的划分,实现将实体的分布进行再次划分,依次类推。一方面,可应用于包含多个属性的待拆分数据,保证目标数据的均衡化分布。另一方面,拆分的次数和顺序与待拆分数据的属性信息和数据分布规律相关,可将待拆分数据的拆分过程看做是一个递归处理,因而不限定拆分的次数,克服了相关技术中将业务数据进行水平拆分时仅能执行1~2次拆分的局限,以便于实现更细致的划分,使得拆分后的目标数据能够贴近业务数据自身及属性相互之间的关系。

具体举例来说,如图8和表1所示,对于用户服务号码信息而言,用户号码依赖于区号,也即用户号码这一类的子数据归属于本地网标识这一类的子数据,则确定先拆分本地网标识的子数据,再基于本地网标识类拆分后的目标数据对其中的用户号码类的子数据进行拆分。例如,号码0755-167xxx91、0755-255xxx27、020-855xxx45,按照拆分顺序先确定0755-167xxx91和0755-255xxx27属于区号0755的类,020-85562445属于区号020的类;在区号0755类子数据的基础上进行进一步划分,0755-167xxx91属于用户号码167xxx91的类,0755-255xxx27属于用户号码255xxx27的类。

用户服务号码信息的拆分规则表(vt_split_rule)如表2所示。拆分规则表用于记录用户服务号码信息中不同属性数据的对应的拆分方法、拆分顺序和拆分数量等。

表2

其中,拆分标识用于对不同子数据的第一字段值的取值区间进行标记,以便于区分。数值范围标识用于表示当前的拆分是否为按照拆分顺序基于前一属性拆分后的目标值再次进行拆分,vt_range_id的取值默认为-1,也即拆分顺序中的首位,vt_range_id的取值>0表示引用拆分区间表(vt_split_range)中记录,表示当前的拆分是在前一属性目标数据的基础上的二次拆分。split_method的取值为1表示枚举,2表示hash取模。

结合图8和表2可以看出,对于用户服务号码信息,先按照区号的虚表字段值将区号类的字段值采用枚举的方式拆分为3个组(子区间),分别为0755组、020组和0756、0757组。按照区号与用户号码的依赖性,在这3个组的基础上,进一步对用户号码类的字段值进行拆分。其中,0755组和020组下的用户号码类的字段值采用取模的方式,0756、0757组下的用户号码类的字段值采用枚举的方式。

用户服务号码信息的拆分区间表(vt_split_range)如表3所示,虚表每一属性对应字段值经过vt_split_rule中记录的拆分规则后,将第二字段值划分成多组目标值(一类目标值所属的子区间),每组目标值对应表中的一条记录。

表3

其中,表3中split_id沿用表2中的记录,以便于区分不同属性的子数据。取值范围起点值和终点值构成了第二字段值对应的预设范围。数据库列表即数据库的节点地址,也即多组目标值的映射位置。

结合图8、表2和表3可以看出,对于用户服务号码信息,在将区号类的vt_range_id为1、2、3的第二字段值的基础上,进一步对用户号码类的第二字段值进行拆分。具体地,0755所属的区间和020所属的区间下的用户号码类的第二字段值的被划分为3组(split_id为2或3的三组目标值),0756、0757所属的区间下的用户号码类的第二字段值被划分为4个组(split_id为4的四组目标值)。在vt_range_id为4~13对应的字段值(目标值)映射到具体的物理库,以将用户服务号码信息拆分为10份目标数据,从而完成地区数据割接,便于用户确定对应数据所在的数据库实例。当然也可以将全部组(vt_range_id为1~13)中的目标值映射到具体的物理库,以便于对区号类的子数据进行读取。

可以理解是,每一次数据拆分动作(第二字段值分为多组目标值的过程)可以发散为其他动作,如进行分表,对表名加后缀或对流的输出转发到更小的范围等。

在本申请的一个实施例中,如图5所示,步骤106,将多组目标值映射至目标位置,包括:

步骤502,确定每组目标值的类别信息;

步骤504,根据类别信息,确定每组目标值对应的目标位置的节点地址;

步骤506,按照节点地址,将每组目标值映射至数据库。

在该实施例中,根据目标数据的类别信息,找到该类别目标数据对应的节点地址,按照节点地址映射将每组目标值至数据库,以将目标值转换为目标数据。从而能有效地将特性化的业务表以一种更均衡地映射到多个节点之上,有效地解决了原有数据的均衡化分布。

例如,如图8和表3所示,0755区号类的目标值映射至物理库DB1、DB2、DB3,0755区号下的用户号码拆分后的3个子区间分别对应物理库DB1、DB2、DB3。

在本申请的一个实施例中,图6示出了本申请实施例的数据拆分方法的流程图之六,包括:

步骤602,获取SQL语句;

其中,SQL语句,也即结构化查询语言(Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

步骤604,对SQL语句进行语法解析,以生成SQL语句的语法树;

具体地,读取SQL语句中的每个词语,去除语句空格、制表符、换行符、注释,然后识别词素,根据预先定义的自上而下的文法构建模型检查词素,生成语法树。

步骤606,将与语法树中节点相匹配的SQL语句块作为待拆分数据。

在该实施例中,通过调用任意语法解析算法对子SQL语句块进行语法解析操作,并直接从SQL语句导入而自动生成表示SQL语句结构的语法树,从而利用语法解析将SQL语句转化为电子设备可执行的SQL语句块,便于后续数据拆分的编译和执行。

值得一提的是,本申请提出的数据拆分分法可以应用于关系数据库、结构化数据,也可以应用于非结构化的数据。只要能提取出数据库的固定的属性,以及数据的分布信息,就可以应用此种方法。当然,还可以应用于大数据计算场景,通过数据拆分解决数据倾斜的问题,并通过模块化的实现,应用于大数据流的输入、输入端。

在本申请的一个实施例中,图7示出了本申请实施例的数据拆分方法的流程图之七,包括:

步骤702,响应于任一目标数据的查询指令,从目标位置中读取任一目标数据;

步骤704,输出任一目标数据。

在该实施例中,在用户需要调用数据时,可下发查询指令,电子设备基于查询指令从目标位置中读取所需目标数据并输出。便于用户有针对应的获取所需的数据,提高数据调用效率。

具体举例来说,客户端通过JDBC/ODBC的SQL接口,将网络协议(如MySQL协议)将要执行的SQL文本(DML,DQL)语句发送至服务端的电子设备,以便于服务端对SQL语句中的待拆分数据进行拆分。进一步地,服务端程序在接收到输入的SQL文本后,通过SQL词法语法分析,解析生成程序内的语法树。根据已有的配置规则,查找语法树涉及的数据库表是否需要经过拆分处理。如果需经拆分处理,通过表名(属性信息)查找该表所包含的拆分列,其中,一列为一个子数据,获取SQL文本中拆分列对应的值。判断子数据是否为虚表。若不是,则进入非虚表处理流程;若是,根据每一列SQL相应的值的分布规律、基数大小、逻辑关系(拆分顺序)等配置拆分规则,按照拆分规则查找对应值域(第二字段值)。判断当前值域下第二字段值是否还有从属的数据需要拆分。若是,则在当前值域下,继续对下一列SQL相应的值进行拆分,直至所有需要拆分的列完成数据拆分步骤;若否,根据值域范围确定当前值域对应的数据库,在查找到的库上,执行对应的SQL语句,并向客户端返回执行结果。客户端接收服务端的输出,返回给调用程序。一方面,结合业务数据自身的特点或局部过热数据的分布规律来配置拆分规则,而非固定的拆分,可以更贴近业务场景,将数据打散到各个节点上,同时,拆分后的数据可以尽可能地保留自身的特征,避免全部打散。另一方面,数据的拆分可看做是将列对应的值做一次转换(映射),并对值映射后的值进行划分。而且拆分可以基于已有目标值再次划分,即递归处理,不限定拆分的次数,从而能有效地将特性化的业务表以一种更均衡地映射到多个节点之上,有效地解决了原有数据的均衡化分布。

在本申请的一个实施例中,如图9所示,数据拆分装置900包括:获取模块902,获取模块902用于获取待拆分数据的第一字段值;拆分模块904,拆分模块904用于根据第一字段值的分布信息,对第一字段值进行拆分处理,以得到多组目标值;映射模块906,映射模块906用于将多组目标值映射至数据库,以确定多个目标数据。

在该实施例中,由于待拆分数据的第一字段值反映实体数据的属性、分布规则等信息,从而在数据拆分过程中,可通过数据分布等情况,在值域,也即第一字段值的取值范围基础上进行拆分处理,将值域分成多个区间。将不同区间中的目标值映射至数据库,以将待拆分数据拆分为多个目标数据。进而能够结合数据自身的特性或局部过热数据的分布规律配置不同的拆分规则,以将数据打散到各个节点上,使拆分后的目标数据尽可能地保留自身的特征,避免全部打散,数据分布更加均衡,而且更贴近业务场景,满足不同场景下的拆分需求,有效提高数据拆分的便利性。

可选的,数据拆分装置900还包括:第一确定模块(图中未示出),第一确定模块,用于根据第一字段值的分布信息和预设条件,确定拆分方式;根据拆分方式,对第一字段值进行拆分处理,形成多组第二字段值;拆分模块904,还用于根据预设范围将每组第二字段值划分为多组目标值。

可选的,第一确定模块还用于在第一字段值的分布信息满足预设条件的情况下,确定拆分方式为枚举;在第一字段值的分布信息不满足预设条件的情况下,确定拆分方式为取模。

可选的,数据拆分装置900还包括:第二确定模块(图中未示出),第二确定模块用于根据待拆分数据的属性信息,确定待拆分数据中的多个子数据;确定多个子数据之间的从属关系;根据从属关系,确定多个子数据的拆分顺序;拆分模块904还用于按照拆分顺序,根据每个子数据对应的第一字段值的分布信息,对每个子数据对应的第一字段值进行拆分处理。

可选的,数据拆分装置900还包括:第三确定模块(图中未示出),第三确定模块用于确定每组目标值的类别信息;根据类别信息,确定每组目标值对应的目标位置的节点地址;映射模块906还用于按照节点地址,将每组目标值映射至数据库。

可选的,数据拆分装置900还包括:读取模块(图中未示出),读取模块用于响应于任一目标数据的查询指令,从目标位置中读取任一目标数据;输出模块(图中未示出),输出模块用于输出任一目标数据。

在该实施例中,数据拆分装置900的各模块执行各自功能时实现第一方面的任一实施例中的数据拆分方法的步骤,因此,数据拆分装置900同时也包括第一方面任一实施例中的数据拆分方法的全部有益效果,在此不再赘述。

本申请实施例中的数据拆分装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)或者自助机等,本申请实施例不作具体限定。

本申请实施例中的数据拆分装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他能的操作系统,本申请实施例不作具体限定。

在本申请的一个实施例中,如图10所示,提供了一种电子设备1000,包括:处理器1001,存储器1002及存储在存储器1002上并在处理器1001上运行的程序或指令,程序或指令被处理器1001执行时实现如上述任一实施例中提供的数据拆分方法的步骤,因此,该电子设备1000包括如上述任一实施例中提供的数据拆分方法的全部有益效果,在此不再赘述。

需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。

图11为实现本申请实施例的一种电子设备1100的硬件结构示意图。该电子设备1100包括但不限于:射频单元1101、网络模块1102、音频输出单元1103、输入单元1104、传感器1105、显示单元1106、用户输入单元1107、接口单元1108、存储器1109、以及处理器1110等部件。

本领域技术人员可以理解,电子设备1100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图11中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

其中,处理器1110用于获取待拆分数据的第一字段值;根据第一字段值的分布信息,对第一字段值进行拆分处理,以得到多组目标值;将多组目标值映射至数据库,以确定多个目标数据。

在该实施例中,由于待拆分数据的第一字段值反映实体数据的属性、分布规则等信息,从而在数据拆分过程中,可通过数据分布等情况,在值域,也即第一字段值的取值范围基础上进行拆分处理,将值域分成多个区间。将不同区间中的目标值映射至数据库,以将待拆分数据拆分为多个目标数据。进而能够结合数据自身的特性或局部过热数据的分布规律配置不同的拆分规则,以将数据打散到各个节点上,使拆分后的目标数据尽可能地保留自身的特征,避免全部打散,数据分布更加均衡,而且更贴近业务场景,满足不同场景下的拆分需求,有效提高数据拆分的便利性。

进一步地,处理器1110还用于根据第一字段值的分布信息和预设条件,确定拆分方式;根据拆分方式,对第一字段值进行拆分处理,形成多组第二字段值;根据预设范围将每组第二字段值划分为多组目标值。

进一步地,处理器1110还用于在第一字段值的分布信息满足预设条件的情况下,确定拆分方式为枚举;在第一字段值的分布信息不满足预设条件的情况下,确定拆分方式为取模。

进一步地,处理器1110还用于根据待拆分数据的属性信息,确定待拆分数据中的多个子数据;确定多个子数据之间的从属关系;根据从属关系,确定多个子数据的拆分顺序;按照拆分顺序,根据每个子数据对应的第一字段值的分布信息,对每个子数据对应的第一字段值进行拆分处理。

进一步地,处理器1110还用于确定每组目标值的类别信息;根据类别信息,确定每组目标值对应的目标位置的节点地址;按照节点地址,将每组目标值映射至数据库。

进一步地,处理器1110还用于响应于任一目标数据的查询指令,从目标位置中读取任一目标数据;射频单元1101用于输出任一目标数据。

应理解的是,本申请实施例中,输入单元1104可以包括图形处理器(GraphicsProcessing Unit,GPU)1141和麦克风1142,图形处理器1141对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1106可包括显示面板1161,可以采用液晶显示器、有机发光二极管等形式来配置显示面板1161。用户输入单元1107包括触控面板1171以及其他输入设备1172。触控面板1171,也称为触摸屏。触控面板1171可包括触摸检测装置和触摸控制器两个部分。其他输入设备1172可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器1109可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器1110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1110中。

在本申请的一个实施例中,提供了一种读存储介质,其上存储有程序或指令,该程序或指令被处理器执行时实现如上述任一实施例中提供的数据拆分方法的步骤。

在该实施例中,读存储介质能够实现本申请的实施例提供的数据拆分方法的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。

其中,处理器为上述实施例中的通信设备中的处理器。读存储介质,包括计算机读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。

本申请实施例还提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述数据拆分方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

技术分类

06120113807925