一种数据处理系统、方法及服务器群与流程

文档序号:23151865发布日期:2020-12-04 13:47阅读:136来源:国知局
一种数据处理系统、方法及服务器群与流程

本申请涉及服务器技术领域,特别是涉及一种数据处理系统、方法及服务器群。



背景技术:

当有大量数据需要处理时,一台服务器的处理速度较慢,往往无法在规定的时间内完成大量数据的处理。

为此,提出了多台服务器对大量数据进行处理的方法,进而提高了对大量数据的处理速度,但是在实际实现过程中,需要一台负载均衡服务器,为处理服务器分配需要处理的数据。

但是,负载均衡服务器是一个特殊的服务器,该服务器的价格昂贵。



技术实现要素:

为了解决上述技术问题,本申请提供了一种数据处理系统、方法及服务器群,无需负载均衡服务器即可实现待处理数据的分配。

本申请实施例公开了如下技术方案:

第一方面,本申请提供了一种数据处理系统,包括:应用节点和派发服务器;

所述应用节点包括服务注册进程和任务处理进程;所述服务注册进程与所述任务处理进程共用逻辑运算单元;

所述服务注册进程,用于检测到逻辑运算单元的标志位为第一预设标识时,向所述派发服务器发送注册请求;

所述派发服务器,用于在接收到所述注册请求后,向所述应用节点传输待处理数据;

所述任务处理进程,用于所述应用节点接收到所述待处理数据后,对所述待处理数据进行处理,并将所述逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识。

可选的,所述任务处理进程,还用于完成对所述待处理文件的处理后,将所述逻辑运算单元的标志位由所述第二预设标识切换为所述第一预设标识。

可选的,所述派发服务器,具体用于在接收到所述注册请求后,根据所述待处理数据的优先级对所述待处理数据进行排列,向所述应用节点传输所述优先级较高的待处理数据。

可选的,所述任务处理进程,用于完成对所述待处理文件的处理后,将处理结果返回给所述派发服务器;

所述派发服务器,还用于将所述处理结果转发给客户端。

可选的,所述待处理文件由客户端生成。

第二方面,本申请提供了一种数据处理方法,包括:

服务注册进程检测到逻辑运算单元的标志位为第一预设标识时,向派发服务器发送注册请求;

所述派发服务器在接收到所述注册请求后,向所述应用节点传输待处理数据;

所述应用节点接收到所述待处理数据后,任务处理进程对所述待处理数据进行处理,并将逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识;

其中,所述应用节点包括服务注册进程和任务处理进程;所述服务注册进程与所述任务处理进程共用所述逻辑运算单元。

可选的,所述方法还包括:

所述任务处理进程完成对所述待处理文件的处理后,将所述逻辑运算单元的标志位由所述第二预设标识切换为所述第一预设标识。

可选的,所述派发服务器在接收到所述注册请求后,向所述应用节点传输待处理数据包括:

所述派发服务器根据所述待处理数据的优先级对所述待处理数据进行排列,向所述应用节点传输所述优先级较高的待处理数据。

可选的,所述方法还包括:

所述任务处理进程完成对所述待处理文件的处理后,将处理结果返回给所述派发服务器;以使所述派发服务器将所述处理结果转发给客户端。

可选的,所述待处理文件由客户端生成。

第三方面,本申请提供了一种服务器群,用于进行数据处理,所述服务器群包括上述第一方面中任一项可选的系统。

由上述技术方案可以看出,本申请具有以下优点:

本申请提供的一种数据处理系统、方法及服务器群,该系统包括:应用节点和派发服务器;所述应用节点包括服务注册进程和任务处理进程;所述服务注册进程与所述任务处理进程共用逻辑运算单元;所述服务注册进程,用于检测到逻辑运算单元的标志位为第一预设标识时,向所述派发服务器发送注册请求;所述派发服务器,用于在接收到所述注册请求后,向所述应用节点传输待处理数据;所述任务处理进程,用于所述应用节点接收到所述待处理数据后,对所述待处理数据进行处理,并将所述逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识。由于应用节点侧的服务注册进程和任务处理进程共用一个逻辑运算单元,任务处理进行负责写该逻辑运算单元的标志位,服务注册进程负责读该逻辑运算单元的标志位,应用节点通过该标志位来向派发服务器提示自身的当前状态,即该应用节点是否在进行数据处理,进而派发服务器决定是否向该应用节点派发待处理文件。因此,从上述的技术方案中可以看出,本申请无需负载均衡服务器,降低了系统的成本。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的一种数据处理系统的示意图;

图2为本申请提供的又一种数据处理系统的示意图;

图3为本申请提供的一种数据处理的示意图;

图4为本申请提供的一种数据处理方法的流程图。

具体实施方式

现有技术中,当多台服务器对大量数据进行处理时,需要一台负载均衡服务器为处理服务器分配需要处理的数据。然而负载均衡服务器为一种特殊的服务器,其价格昂贵,成本较高。

为了解决以上提到的负载均衡服务器价格昂贵的问题,本申请提供了一种数据处理系统,包括:应用节点和派发服务器;所述应用节点包括服务注册进程和任务处理进程;所述服务注册进程与所述任务处理进程共用逻辑运算单元;所述服务注册进程,用于检测到逻辑运算单元的标志位为第一预设标识时,向所述派发服务器发送注册请求;所述派发服务器,用于在接收到所述注册请求后,向所述应用节点传输待处理数据;所述任务处理进程,用于所述应用节点接收到所述待处理数据后,对所述待处理数据进行处理,并将所述逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识。本申请提供的技术方案仅需要在普通的服务器上部署简单的程序,即可实现负载均衡服务器的功能,而普通服务器的价格相对于负载均衡服务器的价格较低,成本较低。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一:

本申请实施例一提供了一种数据处理系统,下面结合附图具体说明。

参见图1,该图为本申请提供的一种数据处理系统的示意图。

该数据处理系统包括:应用节点101、派发服务器102和客户端103。

客户端103,用于生成待处理数据,该数据可以为批量扣款文本。

当客户端103生成待处理数据后,客户端会将待处理数据先传输给派发服务器102。

派发服务器102,用于在满足条件时,向应用节点101发送待处理数据。

为了避免应用节点101中存在闲节点一直处于闲的状态二忙节点一直在处理数据的情况,本申请对应用节点101进行改进。请一并参见图2,该图为本申请提供的又一种数据处理系统的示意图。

所述应用节点101包括服务注册进程201和任务处理进程202;所述服务注册进程201与所述任务处理进程202共用逻辑运算单元。需要说明的是,该逻辑运算单元可以为系统芯片内部的逻辑运算单元。

其中,服务注册进程201,用于读取该逻辑运算单元的标志位;任务处理进程202,用写该逻辑运算单元的标志位。

由于所述服务注册进程201与所述任务处理进程202共用一个逻辑运算单元,故所述服务注册进程201与所述任务处理进程202能够共享该逻辑运算单元的标志位。

共享逻辑运算单元通过shmget获得或创建一个ipc共享逻辑运算单元区域,并返回相应的标识符。

共享逻辑运算单元伪代码如下:

当所述服务注册进程201检测到逻辑运算单元的标志位为第一预设标识时,向所述派发服务器102发送注册请求。

标志位可以为“busy”,第一预设标识可以为“0”,其表示该应用节点当前处于闲状态。

所述应用节点101,向派发服务器102发送注册请求可以为:

应用节点101中的socket客户端向派发服务器102中的socket服务端发送应用节点注册请求。

所述派发服务器102,用于在接收到所述注册请求后,向所述应用节点101传输待处理数据。

具体地,可以通过派发文件的方式讲待处理的数据传递给处于闲状态的应用节点101,即“busy”=“0”的应用节点。

应用节点101接收到待处理数据后,所述任务处理进程202对所述待处理数据进行处理,并将所述逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识。

其中,第二预设标识可以为“1”,将所述逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识具体为:将“busy”=“0”,改为“busy”=“1”,表明,当该应用节点在处理数据时,该应用节点处于忙状态。而只有当该应用节点处于闲状态时,即服务注册进程读取到“busy”=“0”时,才会向派发服务器发送注册请求。但此时应用节点为忙状态,服务注册进程读取到“busy”=“1”,并不会向派发服务器发送注册请求。派发服务器仅在接收到应用节点的注册请求后,才会向应用节点派发文件,即传输待处理数据。

在一种可能的实现方式中,当任务处理进程202完成对所述待处理文件的处理后,将所述逻辑运算单元的标志位由所述第二预设标识切换为所述第一预设标识。也就是说,完成对待处理文件后,该应用节点不进行数据处理,则进入闲状态,以便后续服务注册进程读取到标志位“busy”=“0”时,继续向派发服务器发送注册请求,进而派发服务器向应用节点传输待处理数据。

以上介绍了派发服务器和应用节点之间传输待处理数据的条件,下面介绍传输待处理数据的详细过程。

参见图3,该图为本申请提供的一种数据处理的示意图。

如图所示,在客户端生成待处理数据后,会将待处理数据发送给派发服务器,图中file即为待处理数据,派发服务器中会显示该file的文件明细,包括文件大小,文件主题等。

派发服务器会根据应用节点的注册请求进而选择应用节点,并将file发送给对应的应用节点,以使应用节点对该file进行处理,具体处理过程参见图3。需要说明的是,应用节点不唯一,该系统中至少存在两个应用节点。

作为一种可选的实现方式,所述派发服务器,具体用于在接收到所述注册请求后,根据所述待处理数据的优先级对所述待处理数据进行排列,向所述应用节点传输所述优先级较高的待处理数据。

例如,对不同的待处理数据标志优先级,将优先级较高的待处理数据排在队列的前端,优先级较低的待处理数据排在队列的后端,派发服务器在向应用节点传输待处理数据时,现将队列前端的待处理数据传输给应用节点,进而优先级较高的待处理数据能够得到优先处理。

作为一个可能的实现方式,所述任务处理进程,用于完成对所述待处理文件的处理后,将处理结果返回给所述派发服务器;所述派发服务器,还用于将所述处理结果转发给客户端。

在应用节点处理完待处理数据后,将处理结果返回至客户端。

本申请提供的一种数据处理系统,包括:应用节点和派发服务器;所述应用节点包括服务注册进程和任务处理进程;所述服务注册进程与所述任务处理进程共用逻辑运算单元;所述服务注册进程,用于检测到逻辑运算单元的标志位为第一预设标识时,向所述派发服务器发送注册请求;所述派发服务器,用于在接收到所述注册请求后,向所述应用节点传输待处理数据;所述任务处理进程,用于所述应用节点接收到所述待处理数据后,对所述待处理数据进行处理,并将所述逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识。由于应用节点侧的服务注册进程和任务处理进程共用一个逻辑运算单元,任务处理进行负责写该逻辑运算单元的标志位,服务注册进程负责读该逻辑运算单元的标志位,应用节点通过该标志位来向派发服务器提示自身的当前状态,即该应用节点是否在进行数据处理,进而派发服务器决定是否向该应用节点派发待处理文件。因此,从上述的技术方案中可以看出,本申请无需负载均衡服务器,降低了系统的成本。

实施例二:

本申请实施例二提供了一种数据处理方法的流程图,下面结合附图具体说明。

参见图4,该图为本申请提供的一种数据处理方法的流程图。

该数据处理方法包括以下步骤:

步骤401:服务注册进程检测到逻辑运算单元的标志位为第一预设标识时,向派发服务器发送注册请求。

步骤402:所述派发服务器在接收到所述注册请求后,向所述应用节点传输待处理数据。

步骤403:所述应用节点接收到所述待处理数据后,任务处理进程对所述待处理数据进行处理,并将逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识。

其中,所述应用节点包括服务注册进程和任务处理进程;所述服务注册进程与所述任务处理进程共用所述逻辑运算单元。

可选的,所述方法还包括:

所述任务处理进程完成对所述待处理文件的处理后,将所述逻辑运算单元的标志位由所述第二预设标识切换为所述第一预设标识。

可选的,所述派发服务器在接收到所述注册请求后,向所述应用节点传输待处理数据包括:

所述派发服务器根据所述待处理数据的优先级对所述待处理数据进行排列,向所述应用节点传输所述优先级较高的待处理数据。

可选的,所述方法还包括:

所述任务处理进程完成对所述待处理文件的处理后,将处理结果返回给所述派发服务器;以使所述派发服务器将所述处理结果转发给客户端。

可选的,所述待处理文件由客户端生成。

本申请提供的一种数据处理方法,该包括:服务注册进程检测到逻辑运算单元的标志位为第一预设标识时,向派发服务器发送注册请求;所述派发服务器在接收到所述注册请求后,向所述应用节点传输待处理数据;所述应用节点接收到所述待处理数据后,任务处理进程对所述待处理数据进行处理,并将逻辑运算单元的标志位由所述第一预设标识切换为第二预设标识;其中,所述应用节点包括服务注册进程和任务处理进程;所述服务注册进程与所述任务处理进程共用所述逻辑运算单元。由于应用节点侧的服务注册进程和任务处理进程共用一个逻辑运算单元,任务处理进行负责写该逻辑运算单元的标志位,服务注册进程负责读该逻辑运算单元的标志位,应用节点通过该标志位来向派发服务器提示自身的当前状态,即该应用节点是否在进行数据处理,进而派发服务器决定是否向该应用节点派发待处理文件。因此,从上述的技术方案中可以看出,本申请无需负载均衡服务器,降低了系统的成本。

实施例三:

本申请提供了一种服务器群,用于进行数据处理,所述服务器群包括上述实施例一中所介绍的系统。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制。虽然本申请已以较佳实施例揭露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1