本申请涉及分布式系统、数据同步,尤其涉及数据同步方法、系统和装置。
背景技术:
1、随着技术的发展,以往的集中式业务系统逐渐的进行了分布式改造,集中式业务系统被拆分成了很多小的业务单元来处理业务。各业务单元进行业务处理时,需要使用预先配置的业务参数,其中,业务参数可以理解为系统配置的一种,它们定义了业务流程中的一些关键数值、规则和条件,比如产品定义、费用结构、利率、交易限额、账户类型等。
2、相关技术,各业务单元进行业务处理所需的业务参数,通常通过参数管理端维护。而参数管理端经常会进行业务参数的更新,为了基于更新后的业务参数进行业务处理,每个业务单元,可以在进行业务处理时,通过网络传输,从参数管理端的数据库获取更新后的业务参数。上述方式,一旦发生网络延迟,则会导致业务单元无法及时获取更新后的业务参数,从而影响业务的处理效率。因此,在参数管理端进行业务参数更新后,如何将更新后的业务参数及时同步至各业务单元,对于保证各业务单元的业务处理效率是非常重要的。
技术实现思路
1、本申请提出一种数据同步方法、系统和装置。
2、本申请一方面实施例提出了一种数据同步方法,所述方法应用于分布式业务系统包括的多个业务单元中任意业务单元,所述方法包括:向同步服务端发送心跳请求,以检测所述同步服务端从参数管理端接收的至少一个参数版本中,最新参数版本是否已保存在预设位置并且未同步至所述任意业务单元;其中,所述同步服务端从参数管理端接收的每个参数版本,包括每次对业务参数进行一次更新得到的更新后参数,所述最新参数版本,为所述同步服务端最近一次从所述参数管理端接收的参数版本;在检测到所述最新参数版本已保存在所述预设位置并且未同步至所述任意业务单元的情况下,向所述同步服务端发送第一数据同步请求,以使所述同步服务端将目标参数版本同步至所述任意业务单元,其中,所述目标参数版本包括所述最新参数版本;接收所述同步服务端同步的所述目标参数版本。
3、本申请另一方面实施例提出了一种数据同步方法,所述方法应用于同步服务端,所述方法包括:接收分布式业务系统包括的多个业务单元中任意业务单元发送的第一数据同步请求,其中,所述第一数据同步请求,是在基于所述任意业务单元向所述同步服务端发送的心跳请求,检测到所述同步服务端从参数管理端接收的至少一个参数版本中,最新参数版本已保存在预设位置并且未同步至所述任意业务单元的情况下发送的;其中,所述同步服务端从参数管理端接收的每个参数版本,包括每次对业务参数进行一次更新得到的更新后参数,所述最新参数版本,为所述同步服务端最近一次从所述参数管理端接收的参数版本;将目标参数版本同步至所述任意业务单元,其中,所述目标参数版本包括所述最新参数版本。
4、本申请另一方面实施例提出了一种数据同步系统,包括参数管理端、同步服务端以及分布式业务系统,所述分布式业务系统包括多个业务单元;其中,所述参数管理端,用于响应于每次对业务参数进行更新得到一个参数版本,将所述参数版本发送至所述同步服务端,其中,所述一个参数版本包括对所述业务参数进行一次更新得到的更新后参数;所述同步服务端,用于接收所述参数管理端发送的参数版本,并通过第一方面实施例所述的方法,将接收的参数版本中目标参数版本同步至所述多个业务单元中任意业务单元;所述任意业务单元,用于执行第二方面实施例所述的方法。
5、本申请另一方面实施例提出了一种数据同步装置,所述装置应用于分布式业务系统包括的多个业务单元中任意业务单元,所述装置包括:第一发送模块,用于向同步服务端发送心跳请求,以检测所述同步服务端从参数管理端接收的至少一个参数版本中,最新参数版本是否已保存在预设位置并且未同步至所述任意业务单元;其中,所述同步服务端从参数管理端接收的每个参数版本,包括每次对业务参数进行一次更新得到的更新后参数,所述最新参数版本,为所述同步服务端最近一次从所述参数管理端接收的参数版本;第二发送模块,用于在检测到所述最新参数版本已保存在所述预设位置并且未同步至所述任意业务单元的情况下,向所述同步服务端发送第一数据同步请求,以使所述同步服务端将目标参数版本同步至所述任意业务单元,其中,所述目标参数版本包括所述最新参数版本;接收模块,用于接收所述同步服务端同步的所述目标参数版本。
6、本申请另一方面实施例提出了一种数据同步装置,所述装置应用于同步服务端,所述装置包括:接收模块,用于接收分布式业务系统包括的多个业务单元中任意业务单元发送的第一数据同步请求,其中,所述第一数据同步请求,是在基于所述任意业务单元向所述同步服务端发送的心跳请求,检测到所述同步服务端从参数管理端接收的至少一个参数版本中,最新参数版本已保存在预设位置并且未同步至所述任意业务单元的情况下发送的;其中,所述同步服务端从参数管理端接收的每个参数版本,包括每次对业务参数进行一次更新得到的更新后参数,所述最新参数版本,为所述同步服务端最近一次从所述参数管理端接收的参数版本;同步模块,用于将目标参数版本同步至所述任意业务单元,其中,所述目标参数版本包括所述最新参数版本。
7、本申请另一方面实施例提出了一种电子设备,包括:存储器,处理器;所述存储器中存储有计算机指令,当所述计算机指令被所述处理器执行时,实现本申请任一方面实施例中的数据同步方法。
8、本申请另一方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一方面实施例中的数据同步方法。
9、根据本申请实施例提供的数据同步方法,通过分布式业务系统中任意业务单元向同步服务端发送心跳请求,以检测所述同步服务端从参数管理端接收的至少一个参数版本中,最新参数版本是否已保存在预设位置并且未同步至所述任意业务单元;其中,所述同步服务端从参数管理端接收的每个参数版本,包括每次对业务参数进行一次更新得到的更新后参数;在检测到所述最新参数版本已保存在所述预设位置并且未同步至所述任意业务单元的情况下,向所述同步服务端发送第一数据同步请求,以使所述同步服务端将目标参数版本同步至所述任意业务单元,其中,所述目标参数版本包括所述最新参数版本;接收所述同步服务端同步的目标参数版本。由此,在参数管理端每次进行业务参数的更新得到一个新的参数版本后,任意业务单元可以及时从同步服务端获取最新参数版本,进而在需要时直接快速从本地读取更新后的业务参数,而无需经过网络,保证业务单元的业务处理效率,并且,在参数管理端一次更新多个业务参数的情况下,一次更新的多个业务参数可以在业务单元同时生效,且通过每次进行业务参数的更新后都生成一个新的参数版本,基于参数版本同步更新后参数,便于追踪业务参数的变更历史,使业务参数的管理更加合理。
10、上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
1.一种数据同步方法,其特征在于,所述方法应用于分布式业务系统包括的多个业务单元中任意业务单元,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述预设位置包括所述同步服务端的数据库和本地内存;所述同步服务端的数据库中,存储有从所述参数管理端接收的全部参数版本;所述同步服务端的本地内存中,存储有最近从所述参数管理端接收的n个参数版本,n为大于或等于1的整数;
3.根据权利要求1所述的方法,其特征在于,所述心跳请求携带对应的时间戳信息,所述时间戳信息表示最后一次接收所述同步服务端所同步的参数版本的时刻;
4.根据权利要求1所述的方法,其特征在于,所述心跳请求携带对应的历史版本信息,所述历史版本信息表示已同步至所述任意业务单元的参数版本的版本信息;
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述任意业务单元的本地内存中,保存有最近保存的m个参数版本,所述任意业务单元的数据库中,保存有最近保存的p个参数版本,m和p为大于或等于1的整数;所述方法还包括:
7.根据权利要求1-4中任一项所述的方法,其特征在于,所述任意业务单元,为所述分布式业务系统处理第二业务时,所述分布式业务系统中首个执行所述第二业务的业务处理流程的业务单元,所述方法还包括:
8.根据权利要求1-4中任一项所述的方法,其特征在于,所述任意业务单元中部署有第一软件开发工具包sdk,所述任意业务单元通过所述第一sdk执行权利要求1-4中任一项所述的方法。
9.一种数据同步方法,其特征在于,所述方法应用于同步服务端,所述方法包括:
10.根据权利要求9所述的方法,其特征在于,所述目标参数版本中每个参数版本,具有对应的存储指示信息,由所述参数管理端发送至所述同步服务端,其中,所述存储指示信息,用于指示对应参数版本的存储类型;所述方法还包括:
11.根据权利要求9所述的方法,其特征在于,所述预设位置包括所述同步服务端的数据库和本地内存;所述同步服务端的数据库中,存储有从所述参数管理端接收的全部参数版本;所述同步服务端的本地内存中,存储有最近从所述参数管理端接收的n个参数版本,n为大于或等于1的整数;
12.根据权利要求9-11中任一项所述的方法,其特征在于,所述参数管理端中部署有第二sdk,所述至少一个参数版本,由所述第二sdk发送至所述同步服务端。
13.一种数据同步系统,其特征在于,包括参数管理端、同步服务端以及分布式业务系统,所述分布式业务系统包括多个业务单元;其中,
14.一种数据同步装置,其特征在于,所述装置应用于分布式业务系统包括的多个业务单元中任意业务单元,所述装置包括:
15.一种数据同步装置,其特征在于,所述装置应用于同步服务端,所述装置包括: