一种分布式数据处理方法和装置技术领域
本发明属于数据处理领域,尤其涉及一种分布式数据处理方法和装置。
背景技术
随着网络技术的不断发展,用户终端与服务器进行数据交换的内容也越来
越多,比如对于金融或者网络购物等应用的服务器,需要存储大量的数据的同
时,也需要实时的完成对用户的数据的分析处理,以便于为用户带来便捷安全
的服务。
为了提高服务器处理数据的效率,现有技术中通常使用较多的服务器,按
照任务量进行协助的方式,来完成对大量数据的处理,这种处理方式的好处是
使得数据的处理较为及时,但是,由于处理数据的服务器是根据服务器当前的
繁忙状态进行选择的,这种方式容易使得用户的数据丢失,从而不利于用户数
据的安全性。
发明内容
本发明的目的在于提供一种分布式数据处理方法,以解决现有技术容易导
致用户的数据丢失,从而不利于用户数据的安全性的问题。
第一方面,本发明实施例提供了一种分布式数据处理方法,所述方法包括:
接收数据处理请求,所述数据处理请求包括客户身份标识信息及请求处理
的数据;
根据所述客户身份标识信息,查找与所述客户身份标识信息对应的服务器
节点;
将所述请求处理的数据发送至所查找的服务器节点进行处理。
结合第一方面,在第一方面的第一种可能实现方式中,所述将所述请求处
理的数据发送至所查找的服务器节点进行处理步骤包括:
根据预先设定的分布式切片规则,以及所述客户身份标识信息,对所述请
求处理的数据进行切分;
将切片后的请求处理的数据分布至所查找的服务器节点中预先分割的数据
表,并更新所述数据表对应的索引。
结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式
中,所述将切片后的请求处理的数据分布至所查找的服务器节点中预先分割的
数据表,并更新所述数据表对应的索引步骤包括:
预先将服务器节点中的数据存储区分割为多个数据表;
根据预先设定的分布式切片规则,将切片后的请求处理的数据分布至数据
表中;
根据切片后的请求处理的数据的分布在数据表中的位置,更新所述数据表
的索引信息。
结合第一方面,在第一方面的第三种可能实现方式中,所述接收数据处理
请求,所述数据处理请求包括客户身份标识信息及请求处理的数据步骤包括:
由全局负载均衡系统接收数据处理请求,并将所述数据处理请求分发至服
务器负载均衡系统,并由服务器负载均衡系统转发至前置机群。
结合第一方面,在第一方面的第四种可能实现方式中,所述方法还包括:
接收服务器节点导出的下行文件,根据所述下行文件的数据特征,整理为
统一的文件。
第二方面,本发明实施例提供了一种分布式数据处理装置,所述装置包括:
请求接收单元,用于接收数据处理请求,所述数据处理请求包括客户身份
标识信息及请求处理的数据;
节点查找单元,用于根据所述客户身份标识信息,查找与所述客户身份标
识信息对应的服务器节点;
数据处理单元,用于将所述请求处理的数据发送至所查找的服务器节点进
行处理。
结合第二方面,在第二方面的第一种可能实现方式中,所述数据处理单元
包括:
数据切分子单元,用于根据预先设定的分布式切片规则,以及所述客户身
份标识信息,对所述请求处理的数据进行切分;
索引更新子单元,用于将切片后的请求处理的数据分布至所查找的服务器
节点中预先分割的数据表,并更新所述数据表对应的索引。
结合第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式
中,所述索引更新子单元包括:
分割模块,用于预先将服务器节点中的数据存储区分割为多个数据表;
分布模块,用于根据预先设定的分布式切片规则,将切片后的请求处理的
数据分布至数据表中;
更新模块,用于根据切片后的请求处理的数据的分布在数据表中的位置,
更新所述数据表的索引信息。
结合第二方面,在第二方面的第三种可能实现方式中,所述请求接收单元
包括:
由全局负载均衡系统接收数据处理请求,并将所述数据处理请求分发至服
务器负载均衡系统,并由服务器负载均衡系统转发至前置机群。
结合第二方面,在第二方面的第四种可能实现方式中,所述装置还包括:
文件统一单元,用于接收服务器节点导出的下行文件,根据所述下行文件
的数据特征,整理为统一的文件。
在本发明中,在接收到的数据处理请求时,获取所述数据请求中包括的用
户身份标识信息,根据所述用户身份标识信息查找与其对应的服务器节点,将
请求处理的数据发送到查找的服务器节点进行处理,由于本发明将服务器节点
与用户对应,从而有利于保持请求处理的数据完整性和效率的同时,也能够有
效的提高用户数据的安全性。
附图说明
图1是本发明第一实施例提供的分布式数据处理方法的实现流程图;
图2是本发明第二实施例提供的分布式数据处理方法的实现流程图;
图3是本发明第三实施例提供的分布式数据处理装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实
施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅
仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要目的在于解决现有技术中进行数据处理时数据安全性
不能得到更好的保障的问题。现有技术中为了提高数据处理速度,使得数据更
加及时有效的处理,现有技术中会根据数据处理服务器的负载进行灵活的分配,
虽然可以有效的提高了数据处理速度,但是,可能会使得用户数据信息丢失,
不利于保障数据安全性,特别是金融数据的处理,如果数据出错,则会给用户
带来极大的财产损失。下面结合附图进一步说明。
实施例一:
图1示出了本发明第一实施例提供的分布式数据处理方法的实现流程,详
述如下:
在步骤S101中,接收数据处理请求,所述数据处理请求包括客户身份标识
信息及请求处理的数据。
具体的,本发明实施例中所述的数据处理请求,可以为不同用户终端所发
送,所述用户终端包括但不限于手机、平板电脑、台式电脑或者银行客户端等。
当然,所述数据处理请求还可以由其它数据处理中心进行转发。
作为本发明一种优选的实施方式中,所述接收数据处理请求的方式可以包
括:由全局负载均衡系统接收各个用户终端发送的数据处理请求,并由全局负
载均衡系统对广域网中不同区域的服务器进行数据调配,然后由服务器负载均
衡系统对同一区域内的前置机群进行数据调配。在前置机群中将待处理的数据
转发至服务器节点,用于完成对数据的处理。
当通过全局负载均衡系统和服务器均衡系统进行数据调配,将待处理的数
据发送至前置机群。由前置机群转发至用户账户信息对应的节点时,根据预先
设定用户账户信息与不同区域内的不同前置机群的节点的对应关系进行转发。
所述待处理的数据,可以为业务清算数据、账单处理等,主要可用于安全
性高,数据结算必须由服务器完成的数据内容,比如常用的证券交易数据、银
行转账、结算业务等。
在步骤S102中,根据所述客户身份标识信息,查找与所述客户身份标识信
息对应的服务器节点。
优选的,可以预先设定客户身份标识信息与服务器节点的对应关系,同一
个用户身份标识信息,可以对应多个不同的服务器节点,具体可以设置不同区
域的不同前置机群内的服务器节点的对应关系,从而使得同一用户对应于前置
机群下的同一个服务器节点。
当然,不局限于此,也可以根据需要设定固定的一个或者多个服务器节点,
当设置多个服务器节点的对应关系时,可直接查找设定的服务器节点的负载信
息,根据设定关系,选择较优的服务器节点进行数据处理。
在步骤S103中,将所述请求处理的数据发送至所查找的服务器节点进行处
理。
本发明根据用户账户信息与服务器节点的对应关系,将所述待处理的数据
进行分割,从而使得服务器能够减轻处理负担,提高处理效率的同时,也有利
于对同一账户信息中的数据,是由一个服务器节点完成,避免由多个服务器节
点对同一用户的数据进行分割处理可能带来的数据丢失,从而有利于用户数据
处理的安全性和可靠性。
实施例二:
图2示出了本发明第二实施例提供的分布式数据处理方法的实现流程,详
述如下:
在步骤S201中,接收数据处理请求,所述数据处理请求包括客户身份标识
信息及请求处理的数据。
在步骤S202中,根据所述客户身份标识信息,查找与所述客户身份标识信
息对应的服务器节点。
步骤S201、S202与实施例一中步骤S101、S102基本相同,在此不作重复
赘述。
在步骤S203中,根据预先设定的分布式切片规则,以及所述客户身份标识
信息,对所述请求处理的数据进行切分。
通过步骤S202将数据进行分割,将数据分布到不同的服务器节点上,通过
路由器访问特定的服务器节点的数据库,从而使得访问的服务器不是单台服务
器,而是多台服务器,这样就可以降低因使用单台服务器造成的系统资源紧张
的缺陷。并且将同一用户的数据分配置相同的服务器节点,可以提高数据处理
的安全性和稳定性。
在本步骤S203中,还包括进一步按照分布式切片规则,结合客户身份标识
信息对数据进行切分的操作,其中,所述分布式切片规则,可以为根据客户身
份标识信息,将请求处理的数据切片为多个数据,且切分后的每个数据与单个
的客户身份标识信息对应。
当然,不应局限于划分为单个客户数据,也可以使划分的数据中包括一个
或者多个客户的数据,可以根据数据表的大小灵活的进行调整。但需要保证对
于同一用户的数据,划分在同一个数据块中,以便于存储在同一个数据表。
在步骤S204中,将切片后的请求处理的数据分布至所查找的服务器节点中
预先分割的数据表,并更新所述数据表对应的索引。
比如对于节点数据acc_fund,可以分为acc_fund_001、acc_fund_002、
acc_fund_001……acc_fund_00n等多个数据表,当然,所述分割的个数也可根
据节点数据的大小灵活调整,比如对于较大的节点数据,则分割较多个数据表,
从而更加有利于对小数据的处理的灵活度。
如果部署了50个服务器节点,比如部署了50组物理机器,也就是将数据
按照用户账户信息的完整性对数据分割为50份,而每一个服务器节点又可以分
为20个数据表,这样从整体看,原有的大数据就被分割成了1000份的小数据。
在数据的处理过程中,比如进行数据的清算、交易过程中,通常对于数据的操
作只是其中的一部分小数据,这样就降低了单条数据的处理成本,提高了系统
的并发量和清算效率,尤其是写操作的效率。
比如,当acc_fund表中有5000万条数据,如果在这个数据表中插入一条
新的数据,那么插入完毕后,在现有技术中,数据库会根据这张新表重新建立
索引,则需要耗费大量的系统资源,影响系统的写入效率。
而采用本发明所述方法后,如果将这个数据表分割为100个数据表,从
acc_fund_001一直到acc_fund_100,5000万条数据经过分割后,每个数据表
中大概只有50万条数据,如果用户需要在其中一个数据表中插入一条数据,那
么只需要更新所插入节点数据中的数据表的索引即可,使得索引更新的时间成
数量级下降,极大的提高数据表的运行效率,提高数据表的并发操作量。
另外,可进一步优化的实施方式中,在本发明实施例中,对于新用户数据
的处理方式,还可以包括如下步骤:
根据所述客户身份标识信息判断是否为新用户;
如果为新用户,则获取当前服务器节点的负载信息以及服务器节点的数据
表数量信息,根据所述服务器节点的负载信息以及服务器节点的数据表数量信
息确定新用户对应的服务器节点。
其中,所述服务器节点的负载信息,是指服务器节点当前系统的空闲资源
的数量,或者当前服务器节点的空闲资源占用的百分比值。所述服务器节点的
数据表数量信息,是指服务器当前占用的存储空间的大小。
根据服务器节点的负载信息以及数据表数量信息,可以优先选择系统空闲
资源丰富、系统存储空间充裕的服务器节点,从而能够有效的使得用户的数据
能够及时有效的处理的同时,提高所述数据的稳定性。
其中,服务器节点的负载信息以及数据表数量信息,可以采用预定的权值,
比如1比1的权值,计算并选择得到数值较大的服务器节点。
另外,作为本发明进一步的实施方式,所述数据处理完后,比如服务器节
点清算结束后,本发明还包括将各个服务器节点的数据进行整合和汇总统计,
得到节点统计文件,这样就可以得到查看到全局的汇总统计信息。然后由各个
节点导出节点统计文件,整合为一个统一的文件,完成对文件的统一接收、分
布处理、统一下发操作的处理。
本发明在实施例一的基础上,进一步具体介绍了对数据进一步进行分割为
数据表处理,从而使得服务器的操作效率得到提高。
实施例三:
图3示出了本发明第三实施例提供的分布式数据处理装置的结构示意图,
详述如下:
本发明实施例所述分布式数据处理装置包括:
请求接收单元301,用于接收数据处理请求,所述数据处理请求包括客户
身份标识信息及请求处理的数据;
节点查找单元302,用于根据所述客户身份标识信息,查找与所述客户身
份标识信息对应的服务器节点;
数据处理单元303,用于将所述请求处理的数据发送至所查找的服务器节
点进行处理。
优选的,所述数据处理单元包括:
数据切分子单元,用于根据预先设定的分布式切片规则,以及所述客户身
份标识信息,对所述请求处理的数据进行切分;
索引更新子单元,用于将切片后的请求处理的数据分布至所查找的服务器
节点中预先分割的数据表,并更新所述数据表对应的索引。
优选的,所述索引更新子单元包括:
分割模块,用于预先将服务器节点中的数据存储区分割为多个数据表;
分布模块,用于根据预先设定的分布式切片规则,将切片后的请求处理的
数据分布至数据表中;
更新模块,用于根据切片后的请求处理的数据的分布在数据表中的位置,
更新所述数据表的索引信息。
优选的,所述请求接收单元包括:
由全局负载均衡系统接收数据处理请求,并将所述数据处理请求分发至服
务器负载均衡系统,并由服务器负载均衡系统转发至前置机群。
优选的,所述装置还包括:
文件统一单元,用于接收服务器节点导出的下行文件,根据所述下行文件
的数据特征,整理为统一的文件。
本发明实施例所述分布式数据处理装置是实施例一、二所述的分布式数据
处理方法相对应,在此不作重复赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可
以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例
如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划
分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特
征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合
或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是
电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为
单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者
也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部
单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,
也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元
中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的
形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或
使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明
的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或
部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质
中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或
者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储
介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存
取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序
代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发
明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明
的保护范围之内。