发明内容
本发明实施例所要解决的技术问题在于,提供一种数据处理的方法及系统,可以实现集中式地对网络中的运算服务器进行数据更新,且具有高效、稳定和准确的优点。
为了解决上述技术问题,本发明实施例第一方面提供了一种数据处理的方法,包括:
后台服务器通过广播消息向多个运算服务器下发数据更新指令;
各个所述运算服务器在接收到所述数据更新指令后,暂停当前的运算服务;
所述后台服务器向各个所述运算服务器发送对应的目标数据;
各个所述运算服务器接收对应的所述目标数据,并通过所述目标数据更新其本地数据。
在第一方面的第一种可能实现方式中,所述后台服务器通过广播消息向多个运算服务器下发数据更新指令之前,还包括:
所述后台服务器获取各个所述运算服务器对应的目标数据。
结合第一方面的可能实现方式,在第二种可能实现方式中,所述各个所述运算服务器接收对应的所述目标数据,并通过所述目标数据更新其本地数据之后,还包括:
各个所述运算服务器恢复所述当前的运算服务,并通知所述后台服务器所述本地数据已更新完成。
结合第一方面的可能实现方式,在第三种可能实现方式中,所述后台服务器通过广播消息向多个运算服务器下发数据更新指令之前,还包括:
所述后台服务器持续生成消息队列;
所述各个所述运算服务器在接收到所述数据更新指令后,暂停当前的运算服务,包括:
各个所述运算服务器在接收到所述数据更新指令后,暂停对所述后台服务器中的所述消息队列的监听。
结合第一方面以及第一方面的第二种可能实现方式,在第四种可能实现方式中,所述后台服务器通过广播消息向多个运算服务器下发数据更新指令之前,还包括:
所述后台服务器持续生成消息队列;
所述各个所述运算服务器恢复所述当前的运算服务,包括:
所述各个所述运算服务器恢复对所述后台服务器中的所述消息队列的监听;
所述各个所述运算服务器处理监听到的所述消息队列中的消息。
相应地,本发明实施例第二方面还提供了一种数据处理的系统,包括后台服务器和多个运算服务器,其中:
所述后台服务器,用于通过广播消息向各个所述运算服务器下发数据更新指令;
所述各个所述运算服务器,用于在接收到所述数据更新指令后,暂停当前的运算服务;
所述后台服务器,用于向各个所述运算服务器发送对应的目标数据;
所述各个所述运算服务器,用于接收对应的所述目标数据,并通过所述目标数据更新其本地数据。
在第二方面的第一种可能实现方式中,所述后台服务器,还用于获取各个所述运算服务器对应的目标数据。
结合第二方面的可能实现方式,在第二种可能实现方式中,所述各个所述运算服务器,还用于恢复所述当前的运算服务,并通知所述后台服务器所述本地数据已更新完成。
结合第二方面的可能实现方式,在第三种可能实现方式中,所述后台服务器,还用于持续生成消息队列;
所述各个所述运算服务器,具体用于在接收到所述数据更新指令后,暂停对所述后台服务器中的所述消息队列的监听。
结合第二方面以及第二方面的第二种可能实现方式,在第四种可能实现方式中,所述后台服务器,还用于持续生成消息队列;
所述各个所述运算服务器,具体用于恢复对所述后台服务器中的所述消息队列的监听;处理监听到的所述消息队列中的消息。
实施本发明实施例,具有如下有益效果:本发明实施例中的各个运算服务器在接收到后台服务器通过广播消息下发的数据更新指令后,先暂停当前的运算服务,再接收后台服务器发送的目标数据,并通过目标数据更新本地数据,可以实现集中式地对网络中的运算服务器进行数据更新,且具有高效、稳定和准确的优点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的后台服务器,用于对网络中的运算服务器进行集中式的管控,如更新数据。具体的,请参阅图4,如图所示后台服务器可包括FTP(File TransferProtocol,文件传输协议)服务器、控制服务器和消息队列服务器。其中,FTP服务器用于存储并传输指定的文件,如最新的目标数据;控制服务器用于向运算服务器下发操作指令,如数据更新指令;消息队列服务器,用于生成包括运算请求的消息队列,运算服务器对该消息队列进行监听以实现运算服务。
图1是本发明实施例中一种数据处理的方法的流程示意图。如图所示本实施例中的数据更新的方法的流程可以包括:
S101,后台服务器通过广播消息向多个运算服务器下发数据更新指令。
首先,在下发数据更新指令之前,需上传目标数据到后台服务器中的FTP服务器上,所述目标数据即用以更新的数据。
所述广播消息是一种一对多的消息群发方式。具体的,后台服务器中的控制服务器通过广播消息群发数据更新指令给多个运算服务器。
S102,运算服务器在接收到所述数据更新指令后,暂停当前的运算服务。
所述运算服务包括任何形式的运算任务,这里不作限定,例如对收集到的大盘数据进行运算分析以得到股票走势预测结果。
由于运算服务是由多个运算服务器来执行,故运算服务中的运算请求以消息队列的形式排列,以使各个运算服务器监听消息队列中的消息,并处理监听到的消息。需要指出的是,所述消息队列可以是ActiveMQ消息队列,预先由后台服务器中的消息服务器生成。
由上可见,本发明实施例中,每个运算服务器都是一个独立的个体,其数量可以自由增减,增添更多的运算服务器的数量,或减少当前的运算服务器的数量时,其它运算服务器的工作不受影响,不会中断正在工作的运算服务器,确保了本发明实施例中运算服务器的可扩展性和运算服务的稳定性。
具体的,每个运算服务器在接收到数据更新指令后,暂停对后台服务器中消息队列服务器的消息队列的监听。
S103,后台服务器向各个所述运算服务器发送对应的目标数据。
S104,运算服务器接收对应的所述目标数据,并通过所述目标数据更新其本地数据。
具体的,每个运算服务器接收对应的目标数据,运算服务器上的运算服务程序加载该目标数据,加载完当前部分后再加载另一部分直至本地数据更新完毕。
进一步地,运算服务器通知后台服务器本地数据已更新完成。
具体实现过程中,每个运算服务器均在本地数据更新完成后,通知后台服务器中的控制服务器,以便控制服务器知悉各个服务器的更新进度。
进一步可选地,运算服务器恢复当前的运算服务。
具体实现过程中,每个运算服务器恢复对后台服务器中消息队列服务器的消息队列的监听,并处理监听到的消息队列中的消息。
由上可见,本发明实施例的数据更新过程中,每个运算服务器都会确保在更新完毕后才提供运算服务,不会出现“脏”数据,确保了运算服务的准确性。另外,本发明实施例的数据更新过程中,每个运算服务器各自更新数据后主动加入到运算服务中,而不必等待其它的运算服务器,性能较差的服务器完成数据更新后再加入到运算服务中,确保了运算服务的高效性。
本发明实施例中的各个运算服务器在接收到后台服务器通过广播消息下发的数据更新指令后,先暂停当前的运算服务,再接收后台服务器发送的目标数据,并通过目标数据更新本地数据,可以实现集中式地对网络中的运算服务器进行数据更新,且具有高效、稳定和准确的优点。
图2是本发明实施例中另一种数据处理的方法的流程示意图,可以包括:
S201,后台服务器持续生成消息队列。
可选的,所述消息队列可以是ActiveMQ消息队列。
具体的,后台服务器中的消息队列服务器持续生成ActiveMQ消息队列。
S202,后台服务器获取各个所述运算服务器对应的目标数据。
所述目标数据即用以更新的数据。具体的,上传各个运算服务器对应的目标数据到后台服务器中的FTP服务器上,FTP服务器获取该目标数据。
S203,后台服务器通过广播消息向多个运算服务器下发数据更新指令。
所述广播消息是一种一对多的消息群发方式。具体的,后台服务器中的控制服务器通过广播消息群发数据更新指令给多个运算服务器。
S204,运算服务器在接收到所述数据更新指令后,暂停对所述后台服务器中的所述消息队列的监听。
所述运算服务包括任何形式的运算任务,这里不作限定,例如对收集到的大盘数据进行运算分析以得到股票走势预测结果。
其中,运算服务中的运算请求已加入上述消息队列,各个运算服务器通过监听消息队列中的消息,并处理监听到的消息方式实现运算服务。
由上可见,本发明实施例中,每个运算服务器都是一个独立的个体,其数量可以自由增减,增添更多的运算服务器的数量,或减少当前的运算服务器的数量时,其它运算服务器的工作不受影响,不会中断正在工作的运算服务器,确保了本发明实施例中运算服务器的可扩展性和运算服务的稳定性。
具体的,每个运算服务器在接收到数据更新指令后,暂停对后台服务器中消息队列服务器的消息队列的监听。
S205,后台服务器向各个所述运算服务器发送对应的目标数据。
S206,运算服务器接收对应的所述目标数据,并通过所述目标数据更新其本地数据。
具体的,每个运算服务器接收对应的目标数据,运算服务器上的运算服务程序加载该目标数据,加载完当前部分后再加载另一部分直至本地数据更新完毕。
S207,运算服务器通知所述后台服务器所述本地数据已更新完成。
具体的,每个运算服务器均在本地数据更新完成后,通知后台服务器中的控制服务器,以便控制服务器知悉各个服务器的更新进度。
S208,运算服务器恢复对所述后台服务器中的所述消息队列的监听。
具体的,每个运算服务器恢复对后台服务器中消息队列服务器的消息队列的监听。
S209,运算服务器处理监听到的所述消息队列中的消息。
由上可见,本发明实施例的数据更新过程中,每个运算服务器都会确保在更新完毕后才提供运算服务,不会出现“脏”数据,确保了运算服务的准确性。另外,本发明实施例的数据更新过程中,每个运算服务器各自更新数据后主动加入到运算服务中,而不必等待其它的运算服务器,性能较差的服务器完成数据更新后再加入到运算服务中,确保了运算服务的高效性。
本发明实施例中的各个运算服务器在接收到后台服务器通过广播消息下发的数据更新指令后,先暂停当前的运算服务,再接收后台服务器发送的目标数据,并通过目标数据更新本地数据,可以实现集中式地对网络中的运算服务器进行数据更新,且具有高效、稳定和准确的优点。
图3是本发明实施例中一种数据处理的系统的结构示意图。如图所示本发明实施例中的数据更新的系统至少可以包括后台服务器310和多个运算服务器320,其中:
后台服务器310,用于通过广播消息向各个所述运算服务器320下发数据更新指令。
所述广播消息是一种一对多的消息群发方式。具体的,后台服务器310中的控制服务器通过广播消息群发数据更新指令给多个运算服务器320。
所述运算服务器320,用于在接收到所述数据更新指令后,暂停当前的运算服务。
所述运算服务包括任何形式的运算任务,这里不作限定,例如对收集到的大盘数据进行运算分析以得到股票走势预测结果。
由于运算服务是由多个运算服务器320来执行,故运算服务中的运算请求以消息队列的形式排列,以使各个运算服务器320监听消息队列中的消息,并处理监听到的消息。需要指出的是,所述消息队列可以是ActiveMQ消息队列,预先由后台服务器310中的消息服务器生成。
由上可见,本发明实施例中,每个运算服务器320都是一个独立的个体,其数量可以自由增减,增添更多的运算服务器320的数量,或减少当前的运算服务器320的数量时,其它运算服务器320的工作不受影响,不会中断正在工作的运算服务器320,确保了本发明实施例中运算服务器320的可扩展性和运算服务的稳定性。
具体的,每个运算服务器320在接收到数据更新指令后,暂停对后台服务器310中消息队列服务器的消息队列的监听。
后台服务器310,用于向各个所述运算服务器320发送对应的目标数据。
所述运算服务器320,用于接收对应的所述目标数据,并通过所述目标数据更新其本地数据。
具体的,每个运算服务器320接收对应的目标数据,运算服务器320上的运算服务程序加载该目标数据,加载完当前部分后再加载另一部分直至本地数据更新完毕。
可选的,后台服务器310,还用于获取各个所述运算服务器320对应的目标数据。
所述目标数据即用以更新的数据。具体的,在下发数据更新指令之前,上传各个运算服务器320对应的目标数据到后台服务器310中的FTP服务器上,FTP服务器获取该目标数据。
又可选的,各个运算服务器320,还用于恢复所述当前的运算服务,并通知所述后台服务器310所述本地数据已更新完成。
具体的,每个运算服务器320均在本地数据更新完成后,恢复对后台服务器310中消息队列服务器的消息队列的监听,并处理监听到的消息队列中的消息,以及通知后台服务器310本地数据。
由上可见,本发明实施例的数据更新过程中,每个运算服务器320都会确保在更新完毕后才提供运算服务,不会出现“脏”数据,确保了运算服务的准确性。另外,本发明实施例的数据更新过程中,每个运算服务器320各自更新数据后主动加入到运算服务中,而不必等待其它的运算服务器320,性能较差的服务器完成数据更新后再加入到运算服务中,确保了运算服务的高效性。
本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以通过计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟或光盘)中,包括若干指令用以控制服务器执行本发明实施例图1~图2所描述的数据更新的方法中的部分或全部的步骤。
本发明实施例中的各个运算服务器在接收到后台服务器通过广播消息下发的数据更新指令后,先暂停当前的运算服务,再接收后台服务器发送的目标数据,并通过目标数据更新本地数据,可以实现集中式地对网络中的运算服务器进行数据更新,且具有高效、稳定和准确的优点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。