一种分布式高可用数据同步方法、计算机设备及存储介质与流程

文档序号:30527589发布日期:2022-06-25 08:29阅读:74来源:国知局
一种分布式高可用数据同步方法、计算机设备及存储介质与流程

1.本技术涉及股票金融网络应用的技术领域,尤其是涉及一种分布式高可用数据同步方法、计算机设备及存储介质。


背景技术:

2.目前,在股票金融网络的应用中,股票业务源与股票数据源之间通过持续的通讯来保持双方信息的同步,让客户实时获取交易所下发的行情快照数据。现有的服务端之间的通讯方式是由股票业务源直接连接到股票数据源,股票业务源根据自己的数据需要向股票数据源发送订阅包进行数据订阅,股票数据源接收订阅包后通过数据推送的形式向股票业务源持续发送数据,直到接收到股票业务源的取消订阅。
3.在高可用的场景下,股票数据源存在一个主服务和一个热备服务,每一个股票业务源都会同时与主服务和热备服务直接连接,当其中一个股票数据源的主服务出现连接中断或者数据延迟时,股票业务源就会从股票数据源的主服务切换到热备服务。
4.上述中的现有技术方案中存在以下缺陷:由于每一个股票业务源的切换都是一个独立的过程,切换时间的差异可能会带来数据传输的偏差或数据遗漏,导致股票业务源接收到的股票数据出现偏差。


技术实现要素:

5.为了提高股票业务源接收到的推送数据的一致性,本技术提供一种分布式高可用数据同步方法、计算机设备及存储介质。
6.本技术的上述发明目的一是通过以下技术方案得以实现的:提供一种分布式高可用数据同步方法,所述分布式高可用数据同步方法应用于股票数据源与股票业务源之间的股票数据传输,包括:在所有的股票数据源与股票业务源之间连接有用于进行股票数据传输的数据同步系统;所述数据同步系统接收所有股票数据源的注册信息,所述注册信息至少包括股票数据源的数据源类型和数据源优先级;根据所述注册信息得到相同数据源类型下的数据源优先级最优的股票数据源;所述数据同步系统接收数据源优先级最优的股票数据源发送的推送数据信息,并向股票业务源作数据推送处理。
7.需要说明的是,推送数据信息中至少包括推送数据主题和推送数据内容。
8.通过采用上述技术方案,在对股票数据源和股票业务源之间进行数据传输时,在所有的股票数据源与股票业务源之间连接数据同步系统用于进行股票数据传输,所述数据同步系统接收所有股票数据源的注册信息建立与所有股票数据源的连接,所有的股票数据源都向数据同步系统发送同步的推送数据信息,通过股票数据源的注册信息选出每一类型下数据源优先级最优的股票数据源,所述数据同步系统动态地接收每个类型下的数据源优
先级最优的股票数据源发送的推送数据信息,并向股票业务源作数据推送处理,保证股票业务源接收到的推送数据信息的一致性。
9.本技术在一较佳示例中可以进一步配置为:所述根据所述注册信息得到相同数据源类型下的数据源优先级最优的股票数据源,具体包括:根据所述注册信息对所有的股票数据源进行数据源类型分类,得到数据源类型分类结果;根据所述数据源类型分类结果得到同一数据源类型下数据源优先级最优的股票数据源。
10.通过采用上述技术方案,根据数据源类型的不同对所有的股票数据源进行分类,根据分类结果对同一数据源类型下的股票数据源进行数据源优先级的推选,得到数据源优先级最优的股票数据源。通过在每个数据源类型中都推选出一个数据源优先级最优的股票数据源,数据同步系统分别动态地接收不同类型下的数据源优先级最优的股票数据源发送的推送数据信息。从而保证股票业务源接收到的是对应数据源类型下优先级最优的股票数据源发送的推送数据信息。
11.本技术在一较佳示例中可以进一步配置为:所述根据所述数据源类型分类结果得到同一数据源类型下数据源优先级最优的股票数据源,具体包括:根据所述数据源类型分类结果,对同一数据源类型的股票数据源的数据源优先级进行优先级分类,得到数据源优先级分类结果;根据所述数据源优先级分类结果对同一数据源优先级下的股票数据源的注册时间进行排序,得到基于注册时间的数据源优先级最优的股票数据源。
12.通过采用上述技术方案,在股票数据源与股票业务源之间进行数据传输时,根据所述数据源类型分类结果得到同一数据源类型下的股票数据源,对同一类型的股票数据源的数据源优先级进行分类,并根据优先级分类结果对同一数据源优先级下的股票数据源的注册时间进行排序,先注册的股票数据源的优先级高于后注册的股票数据源的优先级,从而得到基于注册时间的数据源优先级最优的股票数据源。通过注册时间的先后顺序对数据源优先级进行分类,选出数据源优先级最优的股票数据源。
13.本技术在一较佳示例中可以进一步配置为:在所述数据同步系统接收所有股票数据源的注册信息之后,且在根据所述注册信息得到相同数据源类型下的数据源优先级最优的股票数据源之前,还包括:获取数据同步系统与主服务之间的连接状态,根据所述连接状态判断数据同步系统与主服务之间的数据传输是否出现故障;若是,降低主服务的数据源优先级,所述数据同步系统接收数据源优先级最优的热备服务发送的推送数据信息。
14.通过采用上述技术方案,根据所述注册信息得到同一数据源类型下的股票数据源的服务类型,通过数据同步系统与主服务之间的连接状态判断数据同步系统与主服务之间的数据传输是否出现故障,当主服务与数据同步系统的数据传输出现故障时,降低主服务的数据源优先级,对所有的热备服务进行数据源优先级的重新计算,并推选出数据源优先级最优的热备服务,所述数据同步系统接收数据源优先级最优的热备服务发送的推送数据信息,保证了在主服务与备用服务进行切换时,数据同步系统接收到的是同一时间切面下
热备服务发送的推送数据信息,从而保证股票业务源接收到的推送数据信息的一致性。
15.本技术在一较佳示例中可以进一步配置为:所述数据同步系统包括若干个与股票数据源进行信息交互的同步系统服务端和若干个与股票业务源进行信息交互的同步系统客户端,多个同步系统服务端向股票业务源作数据推送处理之前,具体包括:所述数据同步系统接收所有同步系统服务端发送的抢占同步节点的抢占请求;根据所述抢占请求对所有的同步系统服务端进行服务端分类;根据服务端分类结果将同步系统服务端分为作为同步节点的主服务端和用于接收主服务端推送数据信息的从服务端。
16.需要说明的是,可以通过zookeeper对同步系统服务端发送的抢占请求进行处理。通过接收所有的同步系统服务端发送的抢占同步节点的抢占请求,对接收到的抢占请求进行注册处理,具体的,所述抢占请求中至少包括各个同步系统服务端的ip地址以及端口信息,根据所述ip地址和端口信息对所有的服务端进行同步节点的注册,成功注册主节点的同步系统服务端调整为主服务端,其余同步系统服务端调整为从服务端,主服务端接收股票数据源发送的推送数据信息,并向所有的从服务端发送同步的推送数据信息。通过同步节点的抢占对所有的同步系统服务端进行分类,实现多个同步系统服务端接收到推送数据信息的统一,进而保证了股票业务源接收到一致的推送数据信息。
17.通过采用上述技术方案,所述数据同步系统设置多个同步系统服务端来与股票数据源进行信息交互,还设置有多个同步系统客户端来与股票业务源进行信息交互,同步系统服务端接收到股票数据源发送的推送数据信息后向对应的同步系统客户端作数据推送处理,通过所有同步系统服务端的抢占同步节点的抢占请求进行服务端分类,成功抢占同步节点的服务端作为主服务端,抢占失败的同步节点作为从服务端,主服务端与股票数据源做信息交互处理,从服务端接收主服务端发送的同步推送数据信息,在主服务端发生故障时,从服务端动态地推选出新的同步节点进行数据传输,保证股票业务源接收到的数据的一致性。
18.本技术在一较佳示例中可以进一步配置为:所述多个同步系统服务端向股票业务源作数据推送处理,具体包括:所述主服务端接收股票数据源的推送数据信息,并发送给同步系统客户端;所述同步系统客户端接收主服务端发送的推送数据信息并向对应的股票业务源作数据推送处理。
19.通过采用上述技术方案,在股票数据源通过数据同步系统与股票业务源进行数据传输时,通过所述主服务端接收股票数据源的推送数据信息,并发送给同步系统客户端,所述同步系统客户端接收主服务端发送的推送数据信息并向对应的股票业务源作数据推送处理。此时同步系统客户端只接收主服务端发送的推送数据信息,当主服务端与同步系统客户端的数据传输出现故障时,根据抢占请求重新推选出作为同步节点的主服务端,保证同步系统客户端动态地接收同步节点的主服务端发送的推送数据信息,从而保证股票业务源接收数据的一致性。
20.本技术在一较佳示例中可以进一步配置为:所述多个同步系统服务端向股票业务源作数据推送处理,具体包括:所述主服务端接收股票数据源发送的推送数据信息,并同步发送给从服务端;
所述从服务端接收主服务端发送的同步推送数据信息并通过对应的同步系统客户端向股票业务源做数据推送处理。
21.通过采用上述技术方案,在股票数据源通过数据同步系统与股票业务源进行数据传输时,通过所述主服务端接收股票数据源发送的推送数据信息,并同步发送给从服务端,所述从服务端接收主服务端发送的同步推送数据信息并通过对应的同步系统客户端向股票业务源做数据推送处理,根据股票业务源的不同需求,通过多个从服务端分别向对应的同步系统客户端发送推送数据信息,减轻主服务的工作负荷,同时也保证了同步系统客户端接收到的推送数据信息的一致性。
22.需要说明的是,所述同步系统服务端和同步系统客户端的数量至少为n个,其中n≥1。所述多个同步系统服务端与多个同步系统客户端之间可以是一一对应连接,如一个同步系统客户端只接收一个同步系统服务端发送的推送数据信息,也可以是多对多连接,例如一个同步系统客户端同时接收多个同步系统客户端发送的推送数据信息,或者多个同步系统客户端同时接收一个同步系统服务端发送的推送数据信息。
23.需要说明的是,可以通过主服务端直接向所有的同步系统客户端传输推送数据信息,此时从服务端作为主服务端的热备服务端,不断地向同步系统服务端发送接收到的同步推送数据信息,但是同步系统服务端只接收主服务器发送的数据信息,也可以通过从服务端向不同需求的同步系统客户端发送推送数据信息。此时主服务端接收股票数据源发送的推送数据信息,并向多个从服务端作推送数据处理。
24.通过采用上述技术方案,当数据同步系统设置有若干个与股票数据源进行信息交互的同步系统服务端和若干个与股票业务源进行信息交互的同步系统客户端时,从所述若干个同步系统服务端中推选出一个主服务端进行数据的接收,具体的,通过接收所有的数据同步系统发送的抢占同步节点的抢占请求对所有的同步系统服务端进行分类,根据分类结果选出一个主服务端接收股票数据源的推送数据信息,主服务将接收到的推送数据信息发送给同步系统客户端,并且向其它从服务端进行推送数据信息同步处理,同步系统客户端接收到推送数据信息后向股票业务源作数据推送处理,从而保证了在多个同步系统服务端同时进行工作的情况下,通过主服务端分别向从服务端以及同步系统客户端发送同步的推送数据信息,保证股票业务源接收到的推送数据信息的一致性。
25.本技术在一较佳示例中可以进一步配置为:在根据所述数据同步系统接收数据源优先级最优的股票数据源发送的推送数据信息之后,所述向股票业务源作数据推送处理,具体包括:所述数据同步系统接收股票业务源的订阅信息,根据所述订阅信息查找对应的推送数据信息;根据所述查找结果向股票业务源发送对应的推送数据信息。
26.需要说明的是,所述订阅信息中至少包括订阅数据源类型和订阅数据主题。
27.通过采用上述技术方案,通过数据同步系统接收股票业务源的订阅信息,通过订阅信息中的订阅数据源类型查找对应的股票数据源,根据订阅数据主题查找对应的推送数据主题,根据查找结果,将符合订阅信息的股票数据源的推送数据信息中的推送数据内容发送给股票业务源,保证股票业务源只接收符合自身需要的推送数据内容,通过数据同步系统隔离了股票数据源与股票业务源之间的直接连接,即使股票数据源之间进行ip地址的
调整也不需要对股票业务源进行再次配置,保证股票业务源接收推送数据内容的稳定性。
28.本技术的上述发明目的二是通过以下技术方案得以实现的:提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述分布式高可用数据同步方法的步骤。
29.本技术的上述发明目的三是通过以下技术方案得以实现的:提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述分布式高可用数据同步方法的步骤。
30.综上所述,本技术包括以下至少一种有益技术效果:1、通过在所有的股票数据源与股票业务源之间连接用于进行股票数据传输的数据同步系统,当与数据同步系统进行信息交互的股票数据源发生变化时,通过数据同步系统动态地接收数据源优先最优的股票数据源的推送数据信息,保证了在股票数据源之间发生切换时股票业务源接收到推送数据的时间切面是统一的,保证股票业务源接收推送数据信息的一致性。
31.2、当数据同步系统有若干个与股票数据源进行信息交互的同步系统服务端和若干个与股票业务源进行信息交互的同步系统客户端时,通过动态地在多个同步系统服务端中推选出一个主服务端接收股票数据源发送的推送数据信息,并向同步系统客户端和从服务端发送同步的推送数据信息,提高数据同步系统的数据传输效率,也保证了股票业务源接收推送数据信息的一致性。
附图说明
32.图1是本技术一实施例中分布式高可用数据同步方法的流程图。
33.图2是本技术一实施例中根据数据源类型推选优先级最优的股票数据源的流程图。
34.图3是本技术一实施例中根据注册时间推选优先级最优的股票数据源的流程图。
35.图4是本技术一实施例中推选数据源优先级最优的热备服务的流程图。
36.图5是本技术一实施例中在n个同步系统服务端中推选出同步节点的流程图。
37.图6是本技术一实施例中通过主服务端作数据推送处理的流程图。
38.图7是本技术一实施例中通过从服务端作数据推送处理的流程图。
39.图8是本技术一实施例中根据订阅消息向股票业务源作数据推送处理的流程图。
具体实施方式
40.以下结合附图对本技术作进一步详细说明。
41.在一实施例中,在所有的股票数据源与股票业务源之间连接数据同步系统,通过数据同步系统的同步系统服务端与股票数据源作信息交互,数据同步客户端与股票业务源做信息交互,本技术公开了一种分布式高可用数据同步方法,分布式高可用数据同步方法通过数据同步系统在股票数据源与股票业务源之间进行股票数据传输,如图1所示,分布式高可用数据同步方法具体包括:s10:同步系统服务端接收所有股票数据源的注册信息。
42.具体的,注册信息至少包括股票数据源的数据源类型、数据源优先级、数据源ip地址和数据源端口。数据同步系统接收所有股票数据源的注册信息,并根据注册信息中的数据源ip地址和数据源端口调用注册接口建立与所有股票数据源的连接。
43.具体的,根据不同的服务主体对数据源类型进行分类,例如根据证券信息、咨询信息的不同对数据源类型进行分类,需要说明的是,也可以通过证券所的不同来对数据源类型进行分类,可以根据实际需要进行数据源类型的分类不局限于本实施例中的一种。每个类型下的股票数据源都设置有作为向数据同步系统发送推送数据信息的主服务和用于同步主服务推送数据信息的热备服务,其中主服务的数据源优先级最优。
44.需要说明的是,可以根据实际业务需要对热备服务的数量设置为n个,其中n≥1。当主服务出现故障时,至少存在有一个热备服务能对主服务进行替换,在实际应用中,若主服务的负载过大或为了进一步保证数据同步系统接收到的推送数据信息的一致性,也可以根据实际需要设置多个热备服务,在主服务工作时,多个热备服务也同时向数据同步系统发送推送数据信息,数据同步系统只接收主服务发送的推送数据信息。当主服务与数据同步系统的传输发生故障时,数据同步系统从n个热备服务中选择数据源优先级最优的热备服务来接收数据。
45.s20:根据注册信息得到相同数据源类型下的数据源优先级最优的股票数据源。
46.具体的,数据同步系统根据接收到的注册信息,对股票数据源进行数据源类型分类,根据分类结果对同一数据源类型下的股票数据源的数据源优先级进行推选,得到当前数据源类型下的数据源优先级最优的股票数据源,在每一个相同的数据源类型下都推选出相应的数据源优先级最优的股票数据源。例如,在同一服务主体的股票数据源中对所有的股票数据源进行优先级分类,选出数据源优先级最优的股票数据源,如作为主服务的股票数据源。
47.s30:数据同步系统接收数据源优先级最优的股票数据源发送的推送数据信息,并向股票业务源作数据推送处理。
48.具体的,所有股票数据源都向数据同步系统发送推送数据信息,数据同步系统对于每一不同的服务主体只接收数据源优先级最优的股票数据源发送的推送数据信息,当股票数据源发生变化时,对服务主体相同的股票数据源重新进行优先级分类,并重新推选出优先级最优的股票数据源,通过数据同步系统动态地接收数据源优先级最优的股票数据源发送的推送数据信息。
49.需要说明的是,推送数据信息中至少包括推送数据主题和推送数据内容,推送数据主题与股票数据源的服务源类型相对应,如推送数据主题为证券信息,则在所有的股票数据源中搜索证券信息类的股票数据源来进行数据的传输,对应的推送数据内容为证券信息的股票行情快照信息,如股票最高价、最低价、开盘价、当前价、成交量、成交额等股票数据内容。
50.本实施例中,通过在所有的股票数据源与股票业务源之间连接用于进行股票数据传输的数据同步系统来保证股票业务源接收到的推送数据信息的一致性,数据同步系统接收所有股票数据源的注册信息建立与所有股票数据源的连接,所有的股票数据源都向数据同步系统发送同步的推送数据信息,通过股票数据源的注册信息得到同一类型下数据源优先级最优的股票数据源,数据同步系统接收数据源优先级最优的股票数据源发送的推送数
据信息并向股票业务源作数据推送处理。当股票数据源发生变化时,通过数据同步系统动态地接收数据源优先最优的股票数据源的推送数据信息,保证了在股票数据源之间发生切换时股票业务源接收到推送数据的时间切面是统一的,保证股票业务源接收推送数据信息的一致性。
51.在一实施例中,如图2所示,根据注册信息得到相同数据源类型下的数据源优先级最优的股票数据源,具体包括:s201:根据注册信息对所有的股票数据源进行数据源类型分类,得到数据源类型分类结果。
52.具体的,股票数据源的注册信息中至少包括数据源类型,根据不同的服务主体来划分数据源类型,例如股票资讯、股票数据等,数据同步系统根据数据源类型对所有的股票数据源进行分类,例如股票资讯类的股票数据源、股票数据类的股票数据源等。
53.s202:根据数据源类型分类结果得到同一数据源类型下数据源优先级最优的股票数据源。
54.具体的,对同一数据源类型下的股票数据源进行数据源优先级分类,例如,对同一服务主体下的股票数据源进行优先级分类,如分为与数据同步系统进行数据传输的主服务和n个用于同步主服务的推送数据信息的热备服务,其中n ≥1。主服务的数据源优先级最优。在实际应用场景中,可根据实际需要设置热备服务的数量为一个或者多个,保证至少有一个热备服务在主服务发生故障时对主服务进行替换。
55.本实施例中,根据数据源类型的不同对所有的股票数据源进行分类,在每个类型下的股票数据源中都推选出一个数据源优先级最优的股票数据源。当股票数据源发生变化时,数据同步系统动态地接收不同类型下的数据源优先级最优的股票数据源发送的推送数据信息,并同步发给股票业务源,从而保证数据同步系统接收到的是各个数据源类型下数据源优先级最优的股票数据源发送的推送数据信息,进而保证发送给股票业务源的数据的一致性。
56.在一实施例中,如图3所示,根据数据源类型分类结果得到同一数据源类型下数据源优先级最优的股票数据源,具体包括:s301:根据数据源类型分类结果,对同一数据源类型的股票数据源的数据源优先级进行优先级分类,得到数据源优先级分类结果。
57.具体的,根据数据源类型分类结果得到同一数据源类型下的股票数据源,例如对于同一服务主体的股票数据源进行优先级分类,根据优先级的不同分为主服务和热备服务,其中主服务的优先级最优。
58.s302:根据数据源优先级分类结果对同一数据源优先级下的股票数据源的注册时间进行排序,得到基于注册时间的数据源优先级最优的股票数据源。
59.具体的,根据优先级分类结果对同一数据源优先级下的股票数据源的注册时间进行排序,例如在主服务出现故障时,根据注册时间的先后顺序,对作为热备服务的股票数据源进行排序, 先注册的热备服务的数据源优先级优于后注册的热备服务的数据源优先级,根据排序结果得到数据源优先级最优的热备服务,此时数据同步系统接收数据源优先级最优的热备服务发送的推送数据信息。
60.本实施例中,当同一服务主体下的股票数据源的数据源优先级相同时,根据的注
册时间不同对股票数据源进行重新排序,先注册的股票数据源的优先级高于后注册的股票数据源的优先级,从而得到基于注册时间的数据源优先级最优的股票数据源,数据同步系统动态地接收数据源优先级最优的股票数据源发送的推送数据,进而保证数据同步系统发送给股票业务源的数据的一致性。
61.在一实施例中,如图4所示,在数据同步系统接收所有股票数据源的注册信息之后,且在根据注册信息得到相同数据源类型下的数据源优先级最优的股票数据源之前,还包括:s401:根据注册信息得到同一数据源类型下的股票数据源的服务类型,服务类型至少包括主服务和热备服务。
62.具体的,如在同一服务主体的股票数据源中,对股票数据源的服务类型分为一个用于向数据同步系统发送数据的主服务跟n个同步主服务推送数据信息的热备服务,其中n≥1。需要说明的是,可以根据实际需要设置n的数量为一个或者多个,保证至少有一个热备服务在主服务发生故障时对主服务进行替换。
63.s402:判断数据同步系统与主服务之间的数据传输是否出现故障。
64.具体的,通过数据同步系统向主服务发送心跳包,并接收主服务的心跳包反馈信号,根据心跳包反馈信号判断数据同步系统与主服务之间的连接状态是否正常,若数据同步系统接收到心跳包反馈信号则判断数据同步系统与主服务之间进行正常的数据传输,此时执行s403,若数据同步系统接收不到心跳包反馈信号则判断数据同步系统与主服务之间的数据传输出现故障,此时执行s404。
65.s403:数据同步系统接收主服务发送的推送数据信息。
66.具体的,当数据同步系统与主服务之间的连接状态为连接正常时,数据同步系统接收主服务发送的推送数据信息。
67.s404:降低主服务的数据源优先级,数据同步系统接收数据源优先级最优的热备服务发送的推送数据信息。
68.具体的,当数据同步系统与主服务之间的连接状态为连接故障时,降低主服务的数据源优先级,此时对所有的热备服务进行数据源优先级的重新计算,推选出数据源优先级最优的热备服务,数据同步系统接收数据源优先级最优的热备服务发送的推送数据信息。例如,当数据同步系统与同一服务主体下的作为主服务的股票数据源的连接出现故障时,降低主服务的数据源优先级,并从同一服务主体下的所有热备服务中根据注册时间的先后顺序选出一个数据源优先级最优的热备服务,数据同步系统此时接收数据源优先级最优的热备服务发送的推送数据信息。
69.本实施例中,在数据同步系统与主服务的数据传输出现故障时,降低主服务的数据源优先级,对所有的热备服务进行数据源优先级的重新计算,并推选出数据源优先级最优的热备服务,数据同步系统动态地接收数据源优先级最优的热备服务发送的推送数据信息,保证了在主服务与热备服务进行切换时,数据同步系统接收到的是同一时间切面下热备服务发送的推送数据信息,从而保证股票业务源接收到的推送数据信息的一致性。
70.在一实施例中,数据同步系统的同步系统服务端和同步系统客户端的数量分别设置为n个,其中n≥1,根据服务主体的数量设置与之对应的多个同步系统服务端,一个同步系统服务端对应与一个服务主体的股票数据源进行信息交互,根据股票业务源的业务主体
的数量设置与之对应的n个同步系统客户端,一个同步系统客户端对应与一个业务主体的股票业务源进行信息交互,通过zookeeper在n个同步系统服务端中推选出同步节点进行数据传输的工作过程如图5所示,具体如下:s501:zookeeper接收所有同步系统服务端发送的添加ephemeral节点的抢占请求。
71.具体的,抢占请求包括服务端ip以及端口信息,同步系统服务端将自身ip以及端口信息发送至zookeeper进行ephemeral节点的请求注册,根据同步系统客户端的不同需求对抢占请求进行处理。
72.s502:根据抢占请求对所有的同步系统服务端进行服务端分类。
73.具体的,抢占成功的同步系统服务端将自身ip以及端口信息注册成为同步节点,作为主服务端,抢占失败的同步系统客户端将自身ip以及端口信息调整为从服务端,主服务端通过从服务端的ip和端口建立与从服务端的数据传输。
74.s503:根据服务端分类结果将同步系统服务端分为作为同步节点的主服务端和用于接收主服务端推送数据信息的从服务端。
75.具体的,主服务端作为同步节点接收股票数据源发送的推送数据信息,从服务端接收主服务端发送的同步推送数据信息。
76.本实施例中,通过设置与股票数据源的类型数量相对应的多个同步系统服务端以及与股票业务源的业务类型数量相对应的多个同步系统客户端,通过在多个同步系统服务端之间推选出一个作为同步节点的主服务端与股票数据源进行信息交互,并将接收到的同步推送数据信息发送给从服务端,通过多个同步系统服务端对应的接收不同服务主体的股票数据源的推送数据信息,提高数据同步系统的数据传输效率。
77.需要说明的是,n个同步系统服务端与n个同步系统客户端之间也可以是多对多连接,例如一个同步系统客户端同时接收n个同步系统服务端发送的推送数据信息,或者n个同步系统客户端同时接收一个同步系统服务端发送的推送数据信息,可以根据实际情况进行实际设置,并不局限于本实施例中的一一对应连接关系。
78.在一实施例中,多个同步系统服务端向股票业务源作数据推送处理,具体包括:s601:主服务端接收股票数据源的推送数据信息,并发送给同步系统客户端。
79.具体的,作为同步节点的主服务端接收对应的股票数据源发送的推送数据信息,并发送给对应的同步系统客户端,此时从服务端作为主服务端的热备服务端,不断地向同步系统服务端发送接收到的同步推送数据信息,但是同步系统服务端只接收主服务端发送的数据信息。
80.s602:同步系统客户端接收主服务端发送的推送数据信息并向对应的股票业务源作数据推送处理。
81.具体的,同步系统客户端根据股票业务源的不同需求接收主服务端发送的推送数据信息,并向对应的股票业务源做数据推送处理。如股票业务源向同步系统客户端发送订阅股票资讯的请求,同步系统客户端接收股票业务源的订阅请求后接收主服务发送的关于股票资讯的推送数据信息,并将包含股票资讯的推送数据信息发送给股票业务源。
82.本实施例中,在股票数据源通过数据同步系统与股票业务源进行数据传输时,通过所述主服务端接收股票数据源的推送数据信息,并发送给同步系统客户端,同步系统客
户端接收主服务端发送的推送数据信息并向对应的股票业务源作数据推送处理。此时同步系统客户端只接收主服务端发送的推送数据信息,当主服务端与同步系统客户端的数据传输出现故障时,根据抢占请求重新推选出作为同步节点的主服务端,保证同步系统客户端动态地接收同步节点的主服务端发送的推送数据信息,从而保证股票业务源接收数据的一致性。
83.本实施例中,多个同步系统服务端向股票业务源作数据推送处理,如图7所示,具体包括:s701:主服务端接收股票数据源发送的推送数据信息,并同步发送给从服务端。
84.具体的,主服务端接收股票数据眼发送的推送数据信息,根据从服务端的ip和端口信息与从服务端建立数据传输,将接收到的推送数据信息同步发送给从服务端。
85.s702:从服务端接收主服务端发送的同步推送数据信息并通过对应的同步系统客户端向股票业务源做数据推送处理。
86.具体的,从服务端接收到主服务发送的同步推送数据信息,根据同步系统客户端的不同需求,向对应的同步系统客户端发送同步推送数据信息,此时同步系统客户端只接收与之对应的从服务端发送的推送数据信息,同步系统客户端接收到对应的同步推送数据信息并发送给股票业务源。
87.本实施例中,在股票数据源通过数据同步系统与股票业务源进行数据传输时,通过主服务端接收股票数据源发送的推送数据信息,并同步发送给从服务端,从服务端接收主服务端发送的同步推送数据信息并通过对应的同步系统客户端向股票业务源做数据推送处理,根据股票业务源的不同需求,通过多个从服务端分别向对应的同步系统客户端发送推送数据信息,提高数据同步系统的数据处理效率,同时也保证了同步系统客户端接收到的推送数据信息的一致性。
88.在一实施例中,如图8所示,在根据数据同步系统接收数据源优先级最优的股票数据源发送的推送数据信息之后,向股票业务源作数据推送处理,具体包括:s801:数据同步系统接收股票业务源的订阅信息,根据订阅信息查找对应的推送数据信息。
89.具体的,订阅信息中至少包括订阅数据源类型和订阅数据主题。通过数据同步系统接收股票业务源的订阅信息,并根据订阅信息中的订阅数据源类型查找对应的股票数据源,根据订阅数据主题查找对应的推送数据主题,数据同步系统接收与订阅信息相符合的股票数据源的推送数据信息。
90.s802:根据查找结果向股票业务源发送对应的推送数据信息。
91.具体的,数据同步系统接收与订阅信息中的数据源类型和数据主题都对应的股票业务源发送的推送数据信息,并将推送数据信息中的推送数据内容发送给股票业务源。
92.本实施例中,通过数据同步系统接收股票业务源的订阅信息,通过订阅信息中的订阅数据源类型查找对应的股票数据源,根据订阅数据主题查找对应的推送数据主题,根据查找结果,将符合订阅信息的股票数据源的推送数据信息中的推送数据内容发送给股票业务源,保证股票业务源只接收符合自身需要的推送数据内容,通过数据同步系统隔离了股票数据源与股票业务源之间的直接连接,即使股票数据源之间进行ip地址的调整也不需要对股票业务源进行再次配置,保证股票业务源接收推送数据内容的稳定性。
93.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
94.在一实施例中,提供一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上所述的分布式高可用数据同步方法的步骤。
95.在一实施例中,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上所述的分布式高可用数据同步方法的步骤。
96.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
97.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
98.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1