负载均衡中数据更新的方法及装置
技术领域
本发明涉及通信技术,具体涉及一种负载均衡中数据更新的方法及装置。
背景技术
随着网络爬虫抓取技术的发展,可以从互联网中可以实时获得数据,并可以使用这些数据开展相关业务。对于开展的业务可以采用负载均衡的方式完成任务。例如,使用主服务器和从服务器分别进行任务处理。在负载均衡中,需要对主服务器和从服务器进行数据同步,保证主服务器和从服务器中所用数据尽可能的一致。
现有技术中,负载均衡中数据更新的方法包括:主服务器和从服务器分别同数据源进行数据同步。如此操作的缺陷在于,都与数据源进行数据同步,使得数据源所在设备负担过重,并且,由于主服务器和从服务器同步时间差异,使得主服务器和从服务器中所用数据难以保持一致。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的负载均衡中数据更新的方法及装置。
依据本发明的一个方面,提供了一种负载均衡中数据更新的方法,用于主服务器,所述方法包括:
从数据源中获得更新数据,将所述更新数据写入本地更新缓存中;
写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新;
接收到从服务器的回复后,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
可选地,所述方法还包括:
接收到从服务器发送的更新请求后,将更新数据发送给从服务器,使从服务器进行数据更新。
可选地,所述写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新,具体包括:
写入完成后,向从服务器发送更新通知;
接收到从服务器发送的确认更新回复后,将更新数据发送给从服务器,使从服务器进行数据更新。
可选地,所述方法还包括:
在向从服务器发送更新通知后,如果接收到从服务器回复的故障通知,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
可选地,所述方法还包括:
在向从服务器发送更新通知后,如果在预设时长内没有接收到从服务器的回复,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
可选地,所述接收到从服务器发送的更新请求后,将更新数据发送给从服务器,使从服务器进行数据更新,具体包括:
接收到从服务器发送的更新请求后,判断在从服务器上次更新到当前的时间段内,是否接收过更新数据;
如果接收过更新数据,则将更新数据发送给从服务器,使从服务器进行数据更新;
如果没有接收过更新数据,则向从服务器发送无更新数据通知。
根据本发明的另一方面,公开了一种负载均衡中数据更新的方法,用于从服务器,所述方法包括:
接收主服务器发送的更新数据,进行数据更新;
在数据更新完成后,向主服务器回复更新完成通知,使主服务器进行本地数据更新。
可选地,所述接收主服务器发送的更新数据,进行数据更新,具体包括:
接收主服务器发送的更新通知;
当本地系统正常时,向主服务器发送确认更新回复;
接收主服务器根据确认更新回复发送的更新数据,进行数据更新。
可选地,所述接收主服务器发送的更新数据,进行数据更新,具体包括:
接收主服务器发送的更新数据,将接收的更新数据写入本地更新缓存中;
在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
可选地,所述接收主服务器发送的更新数据,进行数据更新,具体包括:
定期向主服务器发送的更新请求;
接收主服务器根据更新请求发送的更新数据,进行数据更新。
可选地,所述方法还包括:
在接收到主服务器发送的更新通知后,如果本地系统发生故障,则向主服务器回复故障通知,使主服务器不向从服务器发送更新数据,直接进行主服务器中数据更新。
根据本发明的又一方面,提供了一种负载均衡中数据更新的装置,用于主服务器,所述装置包括:
数据写入模块,适于从数据源中获得更新数据,将所述更新数据写入本地更新缓存中;
远端更新模块,适于在数据写入模块写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新;
本地更新模块,适于在接收到从服务器的回复后,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
可选地,所述远端更新模块,还适于接收到从服务器发送的更新请求后,将更新数据发送给从服务器,使从服务器进行数据更新。
可选地,所述远端更新模块,具体适于在数据写入模块写入完成后,向从服务器发送更新通知;接收到从服务器发送的确认更新回复后,将更新数据发送给从服务器,使从服务器进行数据更新。
可选地,所述本地更新模块,还适于在远端更新模块向从服务器发送更新通知后,如果接收到从服务器回复的故障通知,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
可选地,所述本地更新模块,还适于在远端更新模块向从服务器发送更新通知后,如果在预设时长内没有接收到从服务器的回复,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
可选地,所述远端更新更新模块,具体包括:
判断子模块,适于接收到从服务器发送的更新请求后,判断在从服务器上次更新到当前的时间段内,是否接收过更新数据;
更新子模块,适于如果接收过更新数据,则将更新数据发送给从服务器,使从服务器进行数据更新;
通知子模块,适于如果没有接收过更新数据,则向从服务器发送无更新数据通知。
根据本发明的另一方面,提供了一种负载均衡中数据更新的装置,用于从服务器,所述装置包括:
更新模块,适于接收主服务器发送的更新数据,进行数据更新;
通知模块,适于在数据更新完成后,向主服务器回复更新完成通知,使主服务器进行本地数据更新。
可选地,所述更新模块,具体适于接收主服务器发送的更新通知;当本地系统正常时,向主服务器发送确认更新回复;接收主服务器根据确认更新回复发送的更新数据,进行数据更新。
可选地,所述更新模块,具体适于接收主服务器发送的更新数据,将接收的更新数据写入本地更新缓存中;在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
可选地,所述装置还包括:请求模块,适于定期向主服务器发送的更新请求;
所述更新模块,还适于接收主服务器根据更新请求发送的更新数据,进行数据更新。
可选地,所述通知模块,还适于在接收到主服务器发送的更新通知后,如果本地系统发生故障,则向主服务器回复故障通知,使主服务器不向从服务器发送更新数据,直接进行主服务器中数据更新。
根据本发明的技术方案,可以使得从服务器从主服务器中获得更新数据进行数据更新,由此解决了数据源所在设备负担过重,更新速度缓慢,并且主服务器和从服务器中所用数据难以保持一致的技术问题,取得了提高主服务器和从服务器中数据更新速度,提高主服务器和从服务器中所用数据一致性的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的负载均衡中数据更新的方法的流程图;
图2示出了根据本发明一个实施例的使从服务器进行更新方法的流程图;
图3示出了根据本发明一个实施例的负载均衡中数据更新的方法的流程图;
图4示出了根据本发明一个实施例的负载均衡中数据更新的方法的流程图;
图5示出了根据本发明一个实施例的从服务器回复更新通知进行数据更新的方法的流程图;
图6示出了根据本发明一个实施例的根据主服务器发送的更新数据进行数据更新的方法的流程图;
图7示出了根据本发明一个实施例的从服务器中数据定期更新的方法的流程图;
图8示出了根据本发明一个实施例的负载均衡中数据更新的方法的流程图;
图9示出了根据本发明一个实施例的负载均衡中数据更新的装置的结构图;
图10示出了根据本发明一个实施例的负载均衡中数据更新的装置的结构图;
图11示出了根据本发明一个实施例的负载均衡中数据更新的装置的结构图;以及
图12示出了根据本发明一个实施例的负载均衡中数据更新的装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的负载均衡中数据更新的方法的流程图。该方法用于负载均衡中主服务器,如图1所示,该方法包括如下步骤S110至S130。
在步骤S110中,从数据源中获得更新数据,将更新数据写入本地更新缓存中。
在步骤S120中,写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新。
在一实施例中,如图2所示,所述写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新,可包括如下步骤S122和S124。
在步骤S122中,写入完成后,向从服务器发送更新通知。
在步骤S124中,接收到从服务器发送的确认更新回复后,将更新数据发送给从服务器,使从服务器进行数据更新。
在步骤S130中,接收到从服务器的回复后,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
举例而言,在更新缓存与使用缓存间进行切换,可包括:将更新缓存的指针与使用缓存的指针进行交换,使原更新缓存切换为使用缓存,原使用缓存切换为更新缓存。
更新缓存具有更新锁,当更新缓存与使用缓存间进行切换时,将更新锁锁定,以禁止对更新缓存进行写操作。当更新缓存与使用缓存间切换完成后,将更新锁解锁,以允许对更新缓存进行写操作。
例如,当进程对更新缓存进行写操作时,进程获得解锁状态的更新锁,将更新锁状态置为锁定,并对更新缓存进行写操作。其他进程要对更新缓存进行写操作时,查询发现更新锁状态为锁定,进行等待,等到更新锁状态为解锁后,该等待的进程获得解锁状态的更新锁,将更新锁状态置为锁定,并对更新缓存进行写操作。如此,当更新缓存与使用缓存间进行切换时,将更新锁锁定,从而禁止对更新缓存进行写操作。当更新缓存与使用缓存间切换完成后,解锁更新锁,从而允许对更新缓存进行写操作。
所述将更新锁锁定,以禁止对更新缓存进行写操作,可包括:将更新缓存的更新锁锁定;当接收到进程发送的对更新缓存的写请求时,判定更新缓存的更新锁的状态为锁定;指示发送写请求的进程进行等待。
所述将更新锁解锁,以允许对更新缓存进行写操作,可包括:将更新缓存的更新锁解锁;使发送写请求的进程获得更新锁,对更新缓存进行写操作,并将更新锁锁定;在写操作完成后,解锁更新锁。
使用缓存具有切换锁,当更新缓存与使用缓存间进行切换时,将切换锁锁定,以禁止对使用缓存进行读操作。当更新缓存与使用缓存间切换完成后,将切换锁解锁,以允许对使用缓存进行读操作。
所述将切换锁锁定,以禁止对使用缓存进行读操作,可包括:将使用缓存的切换锁锁定;当接收到进程发送的对使用缓存的读请求时,判定使用缓存的切换锁的状态为锁定;指示发送读请求的进程进行等待。
所述将切换锁解锁,以允许对使用缓存进行读操作,可包括:将使用缓存的切换锁解锁;使发送读请求的进程获得切换锁,对使用缓存进行读操作,并将切换锁锁定;在读操作完成后,解锁切换锁。
通过使用缓存的切换锁,保证在更新缓存与使用缓存间进行切换时,没有进程对使用缓存进行读操作,保证使用缓存中数据的稳定性。
在一实施例中,所述方法还包括:在向从服务器发送更新通知后,如果接收到从服务器回复的故障通知,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在一实施例中,所述方法还包括:在向从服务器发送更新通知后,如果在预设时长内没有接收到从服务器的回复,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在主服务器向从服务器发送更新通知后,由于各种原因,从服务器可能不返回确认更新回复,在这种情况下,主服务器直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。如此,能够避免主服务器因为从服务器故障或与从服务器网络连接故障,而延误数据更新;进而能够保证主服务器及时使用更新数据为用户提供服务。
在一实施例中,所述方法还包括:接收到从服务器发送的更新请求后,将更新数据发送给从服务器,使从服务器进行数据更新。
举例而言,主服务器接收到从服务器发送的更新请求后,判断在从服务器上次更新到当前的时间段内,是否接收过更新数据;如果接收过更新数据,则主服务器将更新数据发送给从服务器,使从服务器进行数据更新;如果没有接收过更新数据,则主服务器向从服务器发送无更新数据通知。
如此能够避免,更新数据重复在主服务器和从服务器间发送,节约网络流量资源。
图3示出了根据本发明一个实施例的负载均衡中数据更新的方法的流程图。该方法适用于负载均衡中主服务器,如图3所示,该方法包括如下步骤S302-S314。
在步骤S302中,从数据源中获得更新数据,将更新数据写入本地更新缓存中。
在步骤S304中,写入完成后,向从服务器发送更新通知。
在步骤S306中,接收到从服务器发送的确认更新回复后,将更新数据发送给从服务器,使从服务器进行数据更新。
在步骤S308中,接收到从服务器的回复后,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在步骤S310中,接收到从服务器回复的故障通知后,不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在步骤S312中,在预设时长内没有接收到从服务器的回复,不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在步骤S314中,接收到从服务器发送的更新请求后,判断在从服务器上次更新到当前的时间段内,是否接收过更新数据;如果接收过更新数据,则执行步骤S316;如果没有接收过更新数据,则执行步骤S318。
在步骤S316中,将更新数据发送给从服务器,使从服务器进行数据更新。
在步骤S318中,向从服务器发送无更新数据通知。
在本实施例中,可以使得从服务器从主服务器中获得更新数据进行数据更新,由此解决了数据源所在设备负担过重,更新速度缓慢,并且主服务器和从服务器中所用数据难以保持一致的技术问题,取得了提高主服务器和从服务器中数据更新速度,提高主服务器和从服务器中所用数据一致性的有益效果。
上述仅为本发明的负载均衡中数据更新的方法的实例性说明,本发明不限于此。凡在本发明的精神或原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
图4示出了根据本发明一个实施例的负载均衡中数据更新的方法的流程图。该方法用于负载均衡中从服务器,如图4所示,该方法包括如下步骤S410至S420。
在步骤S410中,接收主服务器发送的更新数据,进行数据更新。
在一实施例中,如图5所示,所述接收主服务器发送的更新数据,进行数据更新,可包括如下步骤S412和步骤S416。
在步骤S412中,接收主服务器发送的更新通知。
在步骤S414中,当本地系统正常时,向主服务器发送确认更新回复。
在步骤S416中,接收主服务器根据确认更新回复发送的更新数据,进行数据更新。
在一实施例中,如图6所示,所述接收主服务器发送的更新数据,进行数据更新,可包括如下步骤S4162和步骤S4164。
在步骤S4162中,接收主服务器发送的更新数据,将接收的更新数据写入本地更新缓存中。
在步骤S4164中,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
此处,从服务器中更新缓存与使用缓存间进行切换过程与主服务器中更新缓存与使用缓存间进行切换过程相似,示例性说明参见上述步骤S130中具体描述,在此不再赘述。
在步骤S420中,在数据更新完成后,向主服务器回复更新完成通知,使主服务器进行本地数据更新。
在一实施例中,如图7所示,所述接收主服务器发送的更新数据,进行数据更新,可包括如下步骤S710和S720。
在步骤S710中,定期向主服务器发送更新请求。
在步骤S720中,接收主服务器根据更新请求发送的更新数据,进行数据更新。
步骤S720中在从服务器中本地进行数据更新的方法,可以采用与主服务器中本地进行数据更新相似的方法。具体请参见前述步骤S130中详细描述,在此不再赘述。
在一实施例中,所述方法还包括:在接收到主服务器发送的更新通知后,如果本地系统发生故障,则向主服务器回复故障通知,使主服务器不向从服务器发送更新数据,直接进行主服务器中数据更新。
图8示出了根据本发明一个实施例的负载均衡中数据更新的方法的流程图。该方法适用于负载均衡中从服务器,如图8所示,该方法包括如下步骤S802-S814。
在步骤S802中,接收主服务器发送的更新通知。
在步骤S804中,当本地系统正常时,向主服务器发送确认更新回复。
在步骤S806中,接收主服务发送的更新数据,将接收的更新数据写入本地更新缓存中。
在步骤S808中,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在步骤S810中,当本地系统发生故障时,向主服务器回复故障通知,使主服务器不向从服务器发送更新数据,直接进行主服务器中数据更新。
在步骤S812中,定期向主服务器发送更新请求。
在步骤S814中,接收主服务器发送的更新数据,进行数据更新。
在本实施例中,可以使得从服务器从主服务器中获得更新数据进行数据更新,由此解决了数据源所在设备负担过重,更新速度缓慢,并且主服务器和从服务器中所用数据难以保持一致的技术问题,取得了提高主服务器和从服务器中数据更新速度,提高主服务器和从服务器中所用数据一致性的有益效果。
上述仅为本发明的负载均衡中数据更新的方法的实例性说明,本发明不限于此。凡在本发明的精神或原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
图9示出了根据本发明一个实施例的负载均衡中数据更新的装置的结构图。该装置用于负载均衡中主服务器,如图9所示,该装置包括如下模块。
数据写入模块910,适于从数据源中获得更新数据,将更新数据写入本地更新缓存中;
远端更新模块920,适于在数据写入模块910写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新;
本地更新模块930,适于在接收到从服务器的回复后,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在一实施例中,远端更新模块920,还适于在接收到从服务器发送的更新请求后,将更新数据发送给从服务器,使从服务器进行数据更新。
在一实施例中,远端更新模块920,具体适于在数据写入模块910写入完成后,向从服务器发送更新通知;接收到从服务器发送的确认更新回复后,将更新数据发送给从服务器,使从服务器进行数据更新。
在一实施例中,本地更新模块930,还适于在远端更新模块920向从服务器发送更新通知后,如果接收到从服务器回复的故障通知,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在一实施例中,本地更新模块930,还适于在远端更新模块920向从服务器发送更新通知后,如果在预设时长内没有接收到从服务器的回复,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在一实施例中,如图10所示,远端更新更新模块920,具体可包括:
判断子模块922,适于接收到从服务器发送的更新请求后,判断在从服务器上次更新到当前的时间段内,是否接收过更新数据;
更新子模块924,适于如果接收过更新数据,则将更新数据发送给从服务器,使从服务器进行数据更新;
通知子模块926,适于如果没有接收过更新数据,则向从服务器发送无更新数据通知。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11示出了根据本发明一个实施例的负载均衡中数据更新的装置的结构图。该装置用于负载均衡中从服务器,如图11所示,该装置包括如下模块。
更新模块1110,适于接收主服务器发送的更新数据,进行数据更新;
通知模块1120,适于在数据更新完成后,向主服务器回复更新完成通知,使主服务器进行本地数据更新。
在一实施例中,更新模块1110,具体适于接收主服务器发送的更新通知;当本地系统正常时,向主服务器发送确认更新回复;接收主服务器根据确认更新回复发送的更新数据,进行数据更新。
在一实施例中,更新模块1110,具体适于接收主服务器发送的更新数据,将接收的更新数据写入本地更新缓存中;在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
在一实施例中,如图12所示,装置还包括:
请求模块1210,适于定期向主服务器发送的更新请求;
更新模块1110,还适于接收主服务器根据更新请求发送的更新数据,进行数据更新。
在一实施例中,通知模块1120,还适于在接收到主服务器发送的更新通知后,如果本地系统发生故障,则向主服务器回复故障通知,使主服务器不向从服务器发送更新数据,直接进行主服务器中数据更新。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明公开了如下技术方案。
A1、一种负载均衡中数据更新的方法,用于主服务器,所述方法包括:
从数据源中获得更新数据,将所述更新数据写入本地更新缓存中;
写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新;
接收到从服务器的回复后,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
A2、根据A1所述的方法,其中,所述方法还包括:
接收到从服务器发送的更新请求后,将更新数据发送给从服务器,使从服务器进行数据更新。
A3、根据A1所述的方法,其中,所述写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新,具体包括:
写入完成后,向从服务器发送更新通知;
接收到从服务器发送的确认更新回复后,将更新数据发送给从服务器,使从服务器进行数据更新。
A4、根据A3所述的方法,其中,所述方法还包括:
在向从服务器发送更新通知后,如果接收到从服务器回复的故障通知,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
A5、根据A3所述的方法,其中,所述方法还包括:
在向从服务器发送更新通知后,如果在预设时长内没有接收到从服务器的回复,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
A6、根据A2所述的方法,其中,所述接收到从服务器发送的更新请求后,将更新数据发送给从服务器,使从服务器进行数据更新,具体包括:
接收到从服务器发送的更新请求后,判断在从服务器上次更新到当前的时间段内,是否接收过更新数据;
如果接收过更新数据,则将更新数据发送给从服务器,使从服务器进行数据更新;
如果没有接收过更新数据,则向从服务器发送无更新数据通知。
B7、一种负载均衡中数据更新的方法,用于从服务器,所述方法包括:
接收主服务器发送的更新数据,进行数据更新;
在数据更新完成后,向主服务器回复更新完成通知,使主服务器进行本地数据更新。
B8、根据B7所述的方法,其中,所述接收主服务器发送的更新数据,进行数据更新,具体包括:
接收主服务器发送的更新通知;
当本地系统正常时,向主服务器发送确认更新回复;
接收主服务器根据确认更新回复发送的更新数据,进行数据更新。
B9、根据B7所述的方法,其中,所述接收主服务器发送的更新数据,进行数据更新,具体包括:
接收主服务器发送的更新数据,将接收的更新数据写入本地更新缓存中;
在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
B10、根据B7所述的方法,其中,所述接收主服务器发送的更新数据,进行数据更新,具体包括:
定期向主服务器发送的更新请求;
接收主服务器根据更新请求发送的更新数据,进行数据更新。
B11、根据B8所述的方法,其中,所述方法还包括:
在接收到主服务器发送的更新通知后,如果本地系统发生故障,则向主服务器回复故障通知,使主服务器不向从服务器发送更新数据,直接进行主服务器中数据更新。
C12、一种负载均衡中数据更新的装置,用于主服务器,所述装置包括:
数据写入模块,适于从数据源中获得更新数据,将所述更新数据写入本地更新缓存中;
远端更新模块,适于在数据写入模块写入完成后,将更新数据发送给从服务器,使从服务器进行数据更新;
本地更新模块,适于在接收到从服务器的回复后,在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
C13、根据C12所述的装置,其中,所述远端更新模块,还适于接收到从服务器发送的更新请求后,将更新数据发送给从服务器,使从服务器进行数据更新。
C14、根据C12所述的装置,其中,所述远端更新模块,具体适于在数据写入模块写入完成后,向从服务器发送更新通知;接收到从服务器发送的确认更新回复后,将更新数据发送给从服务器,使从服务器进行数据更新。
C15、根据C14所述的装置,其中,所述本地更新模块,还适于在远端更新模块向从服务器发送更新通知后,如果接收到从服务器回复的故障通知,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
C16、根据C14所述的装置,其中,所述本地更新模块,还适于在远端更新模块向从服务器发送更新通知后,如果在预设时长内没有接收到从服务器的回复,则不向从服务器发送更新数据,直接在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
C17、根据C13所述的装置,其中,所述远端更新更新模块,具体包括:
判断子模块,适于接收到从服务器发送的更新请求后,判断在从服务器上次更新到当前的时间段内,是否接收过更新数据;
更新子模块,适于如果接收过更新数据,则将更新数据发送给从服务器,使从服务器进行数据更新;
通知子模块,适于如果没有接收过更新数据,则向从服务器发送无更新数据通知。
D18、一种负载均衡中数据更新的装置,用于从服务器,所述装置包括:
更新模块,适于接收主服务器发送的更新数据,进行数据更新;
通知模块,适于在数据更新完成后,向主服务器回复更新完成通知,使主服务器进行本地数据更新。
D19、根据D18所述的装置,其中,所述更新模块,具体适于接收主服务器发送的更新通知;当本地系统正常时,向主服务器发送确认更新回复;接收主服务器根据确认更新回复发送的更新数据,进行数据更新。
D20、根据D18所述的装置,其中,所述更新模块,具体适于接收主服务器发送的更新数据,将接收的更新数据写入本地更新缓存中;在本地更新缓存与本地使用缓存间进行切换,完成本地数据更新。
D21、根据D18所述的装置,其中,所述装置还包括:
请求模块,适于定期向主服务器发送的更新请求;
所述更新模块,还适于接收主服务器根据更新请求发送的更新数据,进行数据更新。
D22、根据D19所述的装置,其中,所述通知模块,还适于在接收到主服务器发送的更新通知后,如果本地系统发生故障,则向主服务器回复故障通知,使主服务器不向从服务器发送更新数据,直接进行主服务器中数据更新。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的负载均衡中数据更新的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。