CN111782412A - 一种数据的获取方法、服务器及相关系统 - Google Patents
一种数据的获取方法、服务器及相关系统 Download PDFInfo
- Publication number
- CN111782412A CN111782412A CN201910267904.3A CN201910267904A CN111782412A CN 111782412 A CN111782412 A CN 111782412A CN 201910267904 A CN201910267904 A CN 201910267904A CN 111782412 A CN111782412 A CN 111782412A
- Authority
- CN
- China
- Prior art keywords
- server
- data
- main process
- client task
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 170
- 230000008569 process Effects 0.000 claims abstract description 132
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据的获取方法、服务器及相关系统,所述方法包括:在自身client任务启动后,判断自身client任务是否为当前向第三方服务器获取数据的主进程;所述主进程为当前时刻可向所述第三方服务器获取数据的唯一进程;当判断结果为是时,连接所述第三方服务器并请求获取数据;当每条数据消息到达时,判断自身client任务是否仍然为所述主进程;当判断为是,则获取该数据并处理。本发明公开的数据的获取方法可以通过调度各服务器中的client任务,来避免现有技术中存在的单点问题,保证在机器宕机、网络故障或是其他影响连接的问题发生时,可以保证实时数据的及时获取。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据的获取方法、服务器及相关系统。
背景技术
现有技术中,提供导航服务的导航服务方,从数据提供商的服务器(也称第三方服务器)获取数据(例如实时公交数据、实时交通流量数据等)的方式一般有两种,以实时公交数据为例,一种是导航服务方自身作为服务端server,实时公交数据提供商作为客户端client,接收客户端client发来的数据;另一种是,导航服务方自身作为client,实时公交数据提供商作为server,导航服务方主动连接server接收数据。
其中,在后一种方式即在作为client接收数据的情况中,由于server会为每一个连接的client同步一份实时公交数据,目前常用的架构为:单台机器中使用一个client连接server接收全量数据。
但是,要保证单台机器来接收全量数据的前提下,由于单台机器会涉及到单点问题,无论是机器宕机、网络故障或是其他影响连接的问题都会导致全量数据的丢失。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据的获取方法、服务器及相关系统。
第一方面,本发明实施例提供一种数据的获取方法,应用于服务器集群中的单个服务器,包括:
在自身client任务启动后,判断自身client任务是否为当前向第三方服务器获取数据的主进程;所述主进程为当前时刻可向所述第三方服务器获取数据的唯一进程;
当判断结果为是时,连接所述第三方服务器并请求获取数据;
当每条数据消息到达时,判断自身client任务是否仍然为所述主进程;当判断为是,则获取该数据并处理。
在一个实施例中,所述判断自身client任务是否为当前向第三方服务器获取数据的主进程,包括:
查询主进程列表中主进程的标识,确定自身是否为所述主进程;
所述主进程列表中的主进程,通过下述方式预先得到:
在当前在线的各client任务的列表中,查询所述各client任务上线的时间;
确定上线时间最新的client任务为所述主进程。
在一个实施例中,所述数据的获取方法,还包括:所述各client任务的列表,通过下述方式获得:
向选主服务器订阅选主服务;
接收并记录选主服务器发送的集群服务器中各服务器已上线的各client任务的标识及上线时间。
在一个实施例中,在自身client任务启动后,还包括:向所述选主服务器发布自身client任务的标识。
在一个实施例中,当每条数据消息到达时,获取该数据并处理之后,还包括:
判断当前自身client任务的处理时长是否超过预设的第一时长阈值,若否,则转向获取下个数据消息的步骤,若是,则退出。
在一个实施例中,在连接所述第三方服务器并请求获取数据之后,还包括:
判断等待数据消息到达的时间是否超过预设的第二时长阈值,若超过,则退出,若未超过,则转向执行所述判断自身client任务是否仍然为所述主进程的步骤。
在一个实施例中,所述自身client任务是通过下述方式启动的:
由预设的调度服务器从所述服务器集群中调度而启动的;或由预设的调度服务器判断作为主进程的client任务完成或者退出后重新从所述集群服务器中调度而启动的。
第二方面,本发明实施例提供一种数据获取服务器,包括:
判断模块,用于在自身client任务启动后,判断自身client任务是否为当前向第三方服务器获取数据的主进程;所述主进程为当前时刻可向所述第三方服务器获取数据的唯一进程;以及在当每条数据消息到达时,判断自身client任务是否仍然为所述主进程;
连接模块,用于连接所述第三方服务器;
请求模块,用于向所述第三方服务器获取数据;
数据获取模块,用于当所述判断模块判断自身client任务仍然为主进程时,获取该数据并处理。
在一个实施例中,还包括:
查询模块,用于向主进程确定查询自身保存的主进程列表中主进程的标识,确定自身是否为所述主进程;
主进程确定模块,用于在自身保存的当前在线的各client任务的列表中,查询所述各client任务上线的时间;确定上线时间最新的client任务为所述主进程。
在一个实施例中,所述判断模块,还用于当每条数据消息到达时,获取该数据并处理之后,判断当前自身client任务的client任务是否超过预设的第一时长阈值;
所述数据获取模块,还用于当所述判断模块判断为否时,执行获取下个数据消息的步骤,否则,退出。
在一个实施例中,判断模块,还用于在连接所述第三方服务器并请求获取数据之后,判断等待数据消息到达的时间是否超过预设的第二时长阈值;
主进程确定模块,还用于当所述判断模块判断等待数据消息到达的时间超过预设的第二时长阈值时,退出;若所述判断模块判断未超过所述第二时长阈值时,执行所述判断自身client任务是否仍然为所述主进程的步骤。
第三方面,本发明实施例提供一种数据获取服务器,包括:处理器、用于存储处理器可执行命令的存储器;其中,处理器被配置为可执行上述的数据的获取方法。
第四方面,本发明实施例提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,能够实现上述的数据的获取方法。
第五方面,本发明实施例提供一种数据获取系统,包括:数据获取服务器集群、调度服务器;所述数据获取服务器集群中包含多个上述的数据获取服务器;
所述调度服务器,用于从服务器集群中选择服务器调起其中的client任务,以及所述服务器集群中作为主进程的client任务结束时,继续选择其他服务器调起其中的client任务。
在一个实施例中,还包括:选主服务器;所述选主服务器与所述数据获取服务器集群和所述调度服务器连接;
所述选主服务器,用于根据获取到的所述数据获取服务器集群中各服务器中client任务的上线和下线的消息,向所述数据获取服务器集群中的每个服务器发送已上线的各client任务的标识及上线时间。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的数据的获取方法、服务器及相关系统,通过服务器集群的方式,该服务器集群中的每个服务器在自身的client任务启动后,经过选主服务确定自身为获取第三方服务器数据的唯一进程即主进程后,连接第三方服务器并请求获取数据;并在每处理一条数据消息时,仍判断自身是否为主进程,当是时,才会接收该数据并处理。服务器集群的方式,可以通过调度各服务器中的client任务,来避免现有技术中存在的单点问题,保证在机器宕机、网络故障或是其他影响连接的问题发生时,可以保证实时数据的及时获取,另外,上述选主机制还充分保证了一个时刻只有一个进程来获取并处理数据,保证了单台机器来接收数据。
另外,集群服务器中的每个服务器还提供了自监测机制,当连接第三方服务器之后,在等待数据到达过程中,还判断等待数据消息到达的时间是否超过预设的第二时长阈值,如果是,则退出,退出后,由调度服务器重新调度,另外,当接收到数据消息并处理后,还判断自身client任务的client任务是否超过预设的第一时长阈值,如果是,则同样也是退出,退出后,由调度服务器重新调度,这种自监测机制,保证在发生宕机、网络故障或者发生其他影响时,可以及时发现并退出,由其他服务器中的client任务来继续执行数据获取的过程,进一步保证数据不丢失。
上述数据获取系统还通过设置选主服务器,获取服务器集群中各个服务器的client任务的上线和下线的消息,然后将当前在线的client任务的标识和上线时间发送给每个服务器,以便服务器集群中的每个服务器可以按照预设的选主逻辑来选择一个唯一的client任务来执行获取数据的过程。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的数据的获取方法的流程图;
图2为本发明实施例中当每条数据消息到达时,获取该数据并处理之后的流程图;
图3为本发明实施例中连接所述第三方服务器并请求获取数据之后的流程图;
图4为本发明实施例中数据获取服务器的结构示意图;
图5为本发明实施例中数据获取系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中的作为client接收数据的情况下,单台机器中一个client连接server接收全量数据而存在的单点问题,本发明实施例采用了服务器集群的方式来解决上述问题,在本发明实施例适用的网络架构中,除了服务器集群,还包括调度服务器和选主服务器。调度服务器用于从服务器集群中选择一个服务器来启动其中的client任务(可以是随机的),或者当判断作为主进程的client任务完成或者退出后,重新从所述集群服务器中选择服务器调度并启动其中的client任务。选主服务器用于提供在线的client任务的相关信息,以供服务器集群中的各服务器确定自身的client任务是否为当前可以获取数据的唯一进程。
下面结合附图,对本发明提供的数据的获取方法、服务器及相关系统的具体实施方式进行详细说明。
本发明实施例提供的一种数据的获取方法,对于服务器集群中的单个服务器来说,参照图1所示,其执行的流程包括:
S11、在自身client任务启动后,判断自身client任务是否为当前向第三方服务器获取数据的主进程;该主进程为当前时刻可向所述第三方服务器获取数据的唯一进程;当判断结果为是时,执行下述步骤S12;否则,执行下述步骤S15;
S12、连接第三方服务器并请求获取数据;
S13、当每条数据消息到达时,判断自身client任务是否仍然为该主进程;当判断为是,执行下述步骤S14;若否,则执行步骤S15;
S14、获取该数据并处理。
S15、退出当前流程。
本发明实施例提供的上述数据的获取方法,可应用于服务器集群中的每个服务器,服务器集群中的每个服务器在自身的client任务启动后,经过选主服务确定自身为获取第三方服务器数据的唯一进程即主进程后,连接第三方服务器并请求获取数据;并在每处理一条数据消息时,仍判断自身是否为主进程,当是时,才会接收该数据并处理。服务器集群的方式,可以通过调度各服务器中的client任务,来避免现有技术中存在的单点问题,保证在机器宕机、网络故障或是其他影响连接的问题发生时,可以保证实时数据的及时获取,另外,上述选主机制还充分保证了一个时刻只有一个进程来获取并处理数据,保证了单台机器来接收数据。
在一个实施例中,前述判断自身client任务是否为当前向第三方服务器获取数据的主进程,可以通过下述方式来实现:查询主进程列表中主进程的标识,确定自身是否为所述主进程;
而上述主进程列表中的主进程,通过下述方式预先得到:在当前在线的各client任务的列表中,查询所述各client任务上线的时间;确定上线时间最新的client任务为所述主进程。
之所以要选择上线时间最新的client任务作为主进程,其好处在于,在网络连接出现故障、或者服务器集群中的某个机器出现故障时,往往是需要更换获取数据的client任务的时间往往是最早的,如果选择时间较早的client任务作为主进程,那么新启动的client任务无法运行,以替代出现故障的client任务,因此,为了能够保证在出现故障时,能够及时地换掉出现故障的client任务,在本发明实施例中,选择按照上线的时间早晚选择时间最晚也就是时间最新的client任务作为获取数据的主线程。
当然,本发明实施例也不限定还可以采用其他选择主进程的方式,可根据实际需求进行设定。
单个服务器本地可以维护一个主进程列表,保存在本地,该主进程列表中包含主进程的标识,这个主进程列表,例如可以通过预先向选主服务器订阅选主服务,并根据预设的选主规则确定主进程而得到的。因为主进程可能因为某些原因发生变化,因此这个主进程列表中的主进程可能随时会发生变化。
类似地,单个服务器本地还可以维护一个当前在线的各client任务的列表,这个列表也可以由通过选主服务器发布,单个服务器通过订阅获得。
在一个实施例中,当自身client任务启动后,服务器还可以向选主服务器发布自身client任务的标识。这样,选主服务器就可以知道client任务上线了。
对于每个服务器来说,其自身运行的主程序,可以预先向选主服务器订阅选主服务,同时,在自身client任务启动后,执行向选主服务器发布自身client任务的标识的步骤。
在订阅了选主服务之后,服务器集群中的每个服务器,可以接收并记录选主服务器发送的集群服务器中各服务器已上线的各client任务的标识及上线时间。
各服务器例如可以通过其自身的主程序,解析当前在线的所有client任务,查询各client任务上线的时间,然后确定上线时间最新的client任务为主进程,进而将主进程维护在本地的主进程列表中,以便可以随时查询,提高查询效率。
另外,集群服务器中的每个服务器还提供了自监测机制,以保证在自身出现故障或者网络出现故障时,能够及时退出,以便重新调度其他client任务。具体来说,在一个实施例中,参照图2所示,上述S13中当每条数据消息到达时,获取该数据并处理之后,上述方法,还可以执行下述步骤:
S21、判断当前自身client任务的client任务是否超过预设的第一时长阈值,若否,则执行S22;若是,则执行下述步骤S23;
S22、获取下个数据消息;
S23、退出本流程。
如果服务器自身出了问题,那么其处理数据消息的时长会发生异常,所以可以通过判断自身处理任务的到达的时间是否超过设定的第二时长阈值比如30min,来判断自身处理过程是否出现了问题。
在一个实施例中,参照图3所示,在步骤S12连接所述第三方服务器并请求获取数据之后,上述方法还可以执行下述步骤:
S31、判断等待数据消息到达的时间是否超过预设的第二时长阈值,若超过,则执行S33;若未超过,则执行S32;
S32、执行判断自身client任务是否仍然为所述主进程的步骤;
S33、退出本流程。
与第三方服务器建立连接后,有可能连接断掉了,所以通过判断等待数据消息到达的时间是否超过设定的第二时长阈值比如30s,来判断连接是否出现了问题。
在最初,可以由预设的调度服务器随机地从所述服务器集群中选择一个服务器并调度并启动其中的client任务,当由预设的调度服务器判断作为主进程的client任务完成或者退出后,则需要重新从所述集群服务器中选择一个服务器调度并启动其中的client任务。在具体实施时,调度服务器可以定时(例如以1s为周期)去查看当前主进程是否执行完成数据获取的任务或者退出,如果没有,就等待,如果主进程完成数据获取的任务或退出了,就调度并启动新的client任务,在某些情况下,其调度的次数可能是多次的,可能会导致先后调度和启动多个在线的client任务,为了保证在每个时刻都只有一个主进程在获取数据,则本发明实施例提供的上述方案中提供了选主的机制,不论当前存在多少上线的client任务,都会选举出唯一的一个来执行数据的获取操作。
基于同一发明构思,本发明实施例还提供了一种数据获取服务器和数据获取系统,由于这些服务器和系统所解决问题的原理与前述数据的获取方法相似,因此该装置和客户端的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种数据获取服务器,参照图4所示,包括:
判断模块41,用于在自身client任务启动后,判断自身client任务是否为当前向第三方服务器获取数据的主进程;所述主进程为当前时刻可向所述第三方服务器获取数据的唯一进程;以及在当每条数据消息到达时,判断自身client任务是否仍然为所述主进程;
连接模块42,用于连接所述第三方服务器;
请求模块43,用于向所述第三方服务器获取数据;
数据获取模块44,用于当所述判断模块判断自身client任务仍然为主进程时,获取该数据并处理。
上述连接模块42、请求模块43和数据获取模块44,在具体实施时,可以由服务器中的client任务模块来执行。
在一个实施例中,上述数据获取服务器,参照图4所示,还可以包括:
查询模块45,用于向主进程确定查询自身保存的主进程列表中主进程的标识,确定自身是否为所述主进程;
主进程确定模块46,用于在自身保存的当前在线的各client任务的列表中,查询所述各client任务上线的时间;确定上线时间最新的client任务为所述主进程。
在一个实施例中,判断模块41,还用于当每条数据消息到达时,获取该数据并处理之后,判断当前自身client任务的client任务是否超过预设的第一时长阈值;
数据获取模块44,还用于当判断模块41判断为否时,执行获取下个数据消息的步骤,否则,退出。
在一个实施例中,上述判断模块41,还用于在连接所述第三方服务器并请求获取数据之后,判断等待数据消息到达的时间是否超过预设的第二时长阈值;
相应地,主进程确定模块46,还用于当判断模块41判断等待数据消息到达的时间超过预设的第二时长阈值时,退出;若判断模块41判断未超过第二时长阈值时,执行判断自身client任务是否仍然为主进程的步骤。
本发明实施例提供的一种数据获取服务器,包括:处理器、用于存储处理器可执行命令的存储器;其中,处理器被配置为可执行前述数据的获取方法。
本发明实施例提供的一种数据获取系统,参照图5所示,包括:数据获取服务器集群51和调度服务器52;数据获取服务器集群51中包含多个如前述的数据获取服务器;其中:
调度服务器52,用于从服务器集群中选择服务器调起其中的client任务,以及服务器集群中作为主进程的client任务结束时,继续选择其他服务器调起其中的client任务。
上述数据获取系统,参照图5所示,还包括:选主服务器53;选主服务器53与数据获取服务器集群51和调度服务器52连接;其中:
选主服务器53,用于根据获取到的所述数据获取服务器集群中各服务器中client任务的上线和下线的消息,向所述数据获取服务器集群中的每个服务器发送已上线的各client任务的标识及上线时间。
上述数据获取系统还通过设置选主服务器,获取服务器集群中各个服务器的client任务的上线和下线的消息,然后将当前在线的client任务的标识和上线时间发送给每个服务器,以便服务器集群中的每个服务器可以按照预设的选主逻辑来选择一个唯一的client任务来执行获取数据的过程。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种数据的获取方法,其特征在于,包括:
在自身client任务启动后,判断自身client任务是否为当前向第三方服务器获取数据的主进程;所述主进程为当前时刻可向所述第三方服务器获取数据的唯一进程;
当判断结果为是时,连接所述第三方服务器并请求获取数据;
当每条数据消息到达时,判断自身client任务是否仍然为所述主进程;当判断为是,则获取该数据并处理。
2.如权利要求1所述的方法,其特征在于,所述判断自身client任务是否为当前向第三方服务器获取数据的主进程,包括:
查询主进程列表中主进程的标识,确定自身是否为所述主进程;
所述主进程列表中的主进程,通过下述方式预先得到:
在当前在线的各client任务的列表中,查询所述各client任务上线的时间;
确定上线时间最新的client任务为所述主进程。
3.如权利要求2所述的方法,其特征在于,还包括:所述各client任务的列表,通过下述方式获得:
向选主服务器订阅选主服务;
接收并记录选主服务器发送的集群服务器中各服务器已上线的各client任务的标识及上线时间。
4.如权利要求3所述的方法,其特征在于,在自身client任务启动后,还包括:向所述选主服务器发布自身client任务的标识。
5.如权利要求1所述的方法,其特征在于,当每条数据消息到达时,获取该数据并处理之后,还包括:
判断当前自身client任务的处理时长是否超过预设的第一时长阈值,若否,则转向获取下个数据消息的步骤,若是,则退出。
6.如权利要求1所述的方法,其特征在于,在连接所述第三方服务器并请求获取数据之后,还包括:
判断等待数据消息到达的时间是否超过预设的第二时长阈值,若超过,则退出,若未超过,则转向执行所述判断自身client任务是否仍然为所述主进程的步骤。
7.如权利要求1-6任一项所述的方法,其特征在于,所述自身client任务是通过下述方式启动的:
由预设的调度服务器从所述服务器集群中调度而启动的;或由预设的调度服务器判断作为主进程的client任务完成或者退出后重新从所述集群服务器中调度而启动的。
8.一种数据获取服务器,其特征在于,包括:
判断模块,用于在自身client任务启动后,判断自身client任务是否为当前向第三方服务器获取数据的主进程;所述主进程为当前时刻可向所述第三方服务器获取数据的唯一进程;以及在当每条数据消息到达时,判断自身client任务是否仍然为所述主进程;
连接模块,用于连接所述第三方服务器;
请求模块,用于向所述第三方服务器获取数据;
数据获取模块,用于当所述判断模块判断自身client任务仍然为主进程时,获取该数据并处理。
9.如权利要求10所述的服务器,其特征在于,还包括:
查询模块,用于向主进程确定查询主进程列表中主进程的标识,确定自身是否为所述主进程;
主进程确定模块,用于在当前在线的各client任务的列表中,查询所述各client任务上线的时间;确定上线时间最新的client任务为所述主进程。
10.如权利要求8所述的服务器,其特征在于,所述判断模块,还用于当每条数据消息到达时,获取该数据并处理之后,判断当前自身client任务的client任务是否超过预设的第一时长阈值;
所述数据获取模块,还用于当所述判断模块判断为否时,执行获取下个数据消息的步骤,否则,退出。
11.如权利要求8所述的服务器,其特征在于,判断模块,还用于在连接所述第三方服务器并请求获取数据之后,判断等待数据消息到达的时间是否超过预设的第二时长阈值;
主进程确定模块,还用于当所述判断模块判断等待数据消息到达的时间超过预设的第二时长阈值时,退出;若所述判断模块判断未超过所述第二时长阈值时,执行所述判断自身client任务是否仍然为所述主进程的步骤。
12.一种数据获取服务器,其特征在于,包括:处理器、用于存储处理器可执行命令的存储器;其中,处理器被配置为可执行如权利要求1-7任一项所述的数据的获取方法。
13.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,能够实现如权利要求上述1-7任一项所述的数据的获取方法。
14.一种数据获取系统,其特征在于,包括:数据获取服务器集群、调度服务器;所述数据获取服务器集群中包含多个如权利要求12所述的数据获取服务器;
所述调度服务器,用于从服务器集群中选择服务器调起其中的client任务,以及所述服务器集群中作为主进程的client任务结束时,继续选择其他服务器调起其中的client任务。
15.如权利要求14所述的系统,其特征在于,还包括:选主服务器;所述选主服务器与所述数据获取服务器集群和所述调度服务器连接;
所述选主服务器,用于根据获取到的所述数据获取服务器集群中各服务器中client任务的上线和下线的消息,向所述数据获取服务器集群中的每个服务器发送已上线的各client任务的标识及上线时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267904.3A CN111782412B (zh) | 2019-04-03 | 2019-04-03 | 一种数据的获取方法、服务器及相关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267904.3A CN111782412B (zh) | 2019-04-03 | 2019-04-03 | 一种数据的获取方法、服务器及相关系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782412A true CN111782412A (zh) | 2020-10-16 |
CN111782412B CN111782412B (zh) | 2024-09-06 |
Family
ID=72755376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910267904.3A Active CN111782412B (zh) | 2019-04-03 | 2019-04-03 | 一种数据的获取方法、服务器及相关系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782412B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0629947A2 (en) * | 1993-06-14 | 1994-12-21 | International Business Machines Corporation | Shared resource control in a distributed processing system |
US20060006231A1 (en) * | 2004-07-09 | 2006-01-12 | Psc Scanning, Inc. | Portable data reading device with integrated web server for configuration and data extraction |
US20070260796A1 (en) * | 2006-05-05 | 2007-11-08 | Ati Technologies, Inc. | Event handler for context-switchable and non-context-switchable processing tasks |
US20140108342A1 (en) * | 2011-09-23 | 2014-04-17 | Hybrid Logic Ltd | System for live-migration and automated recovery of applications in a distributed system |
US20140380003A1 (en) * | 2013-06-25 | 2014-12-25 | Advanced Micro Devices, Inc. | Method and System for Asymmetrical Processing With Managed Data Affinity |
US20160077882A1 (en) * | 2012-09-20 | 2016-03-17 | Nec Corporation | Scheduling system, scheduling method, and recording medium |
US20160119409A1 (en) * | 2014-10-23 | 2016-04-28 | Bloomberg Finance L.P. | Apparatus and method for efficient, coordinated, distributed execution |
US20160127493A1 (en) * | 2014-11-04 | 2016-05-05 | Qlogic Corporation | Caching methods and systems using a network interface card |
CN105915587A (zh) * | 2016-04-05 | 2016-08-31 | 网宿科技股份有限公司 | 内容推送方法、系统、以及缓存服务器 |
US20170075697A1 (en) * | 2014-05-05 | 2017-03-16 | Tencent Technology (Shenzhen) Company Limited | Startup accelerating method and appartus |
CN106775960A (zh) * | 2016-12-30 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种对Windows进程的唯一标示方法及系统 |
CN109254845A (zh) * | 2018-07-27 | 2019-01-22 | 苏州橘猫网络科技有限公司 | 一种应用于分布式通信计算服务端的线性扩展实现方法 |
CN109271238A (zh) * | 2017-07-12 | 2019-01-25 | 北京京东尚科信息技术有限公司 | 支持多种编程语言的任务调度装置和方法 |
CN109407987A (zh) * | 2018-10-18 | 2019-03-01 | 北京奇艺世纪科技有限公司 | 一种数据读取方法及装置 |
-
2019
- 2019-04-03 CN CN201910267904.3A patent/CN111782412B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0629947A2 (en) * | 1993-06-14 | 1994-12-21 | International Business Machines Corporation | Shared resource control in a distributed processing system |
US20060006231A1 (en) * | 2004-07-09 | 2006-01-12 | Psc Scanning, Inc. | Portable data reading device with integrated web server for configuration and data extraction |
US20070260796A1 (en) * | 2006-05-05 | 2007-11-08 | Ati Technologies, Inc. | Event handler for context-switchable and non-context-switchable processing tasks |
US20140108342A1 (en) * | 2011-09-23 | 2014-04-17 | Hybrid Logic Ltd | System for live-migration and automated recovery of applications in a distributed system |
US20160077882A1 (en) * | 2012-09-20 | 2016-03-17 | Nec Corporation | Scheduling system, scheduling method, and recording medium |
US20140380003A1 (en) * | 2013-06-25 | 2014-12-25 | Advanced Micro Devices, Inc. | Method and System for Asymmetrical Processing With Managed Data Affinity |
US20170075697A1 (en) * | 2014-05-05 | 2017-03-16 | Tencent Technology (Shenzhen) Company Limited | Startup accelerating method and appartus |
US20160119409A1 (en) * | 2014-10-23 | 2016-04-28 | Bloomberg Finance L.P. | Apparatus and method for efficient, coordinated, distributed execution |
US20160127493A1 (en) * | 2014-11-04 | 2016-05-05 | Qlogic Corporation | Caching methods and systems using a network interface card |
CN105915587A (zh) * | 2016-04-05 | 2016-08-31 | 网宿科技股份有限公司 | 内容推送方法、系统、以及缓存服务器 |
CN106775960A (zh) * | 2016-12-30 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种对Windows进程的唯一标示方法及系统 |
CN109271238A (zh) * | 2017-07-12 | 2019-01-25 | 北京京东尚科信息技术有限公司 | 支持多种编程语言的任务调度装置和方法 |
CN109254845A (zh) * | 2018-07-27 | 2019-01-22 | 苏州橘猫网络科技有限公司 | 一种应用于分布式通信计算服务端的线性扩展实现方法 |
CN109407987A (zh) * | 2018-10-18 | 2019-03-01 | 北京奇艺世纪科技有限公司 | 一种数据读取方法及装置 |
Non-Patent Citations (2)
Title |
---|
胡居成, 李侠林, 黄皓: "一种HTTP代理服务器的设计与实现", 计算机工程与设计, no. 11, 28 November 2004 (2004-11-28) * |
雷迎春, 李国杰: "基于ASPED模型的高性能Web服务器", 计算机研究与发展, no. 07, 15 July 2001 (2001-07-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN111782412B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844198B (zh) | 一种分布式调度自动化测试平台及方法 | |
US8171474B2 (en) | System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface | |
US20180048536A1 (en) | Cluster instance management system | |
CN106843170B (zh) | 基于令牌的任务调度方法 | |
US8301935B2 (en) | Distributed batch runner | |
CN109656690A (zh) | 调度系统、方法和存储介质 | |
CN107092521B (zh) | 一种分布式任务调度方法、装置及系统 | |
CN111064789B (zh) | 数据迁移的方法和系统 | |
CN109343939A (zh) | 一种分布式集群及并行计算任务调度方法 | |
CN110098979B (zh) | 一种基于区块链的短链接消息监听方法及装置 | |
CN101149689A (zh) | 负载分配设备 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
WO2016155996A1 (en) | Production system and method for controlling same | |
CN102571850A (zh) | 事务提交系统、方法及设备 | |
CN112631761A (zh) | 一种任务调度监控方法和装置 | |
CN112272291A (zh) | 视频存储方法、装置、管理设备及可读存储介质 | |
CN113946362B (zh) | 消费数据处理方法及存储介质 | |
CN113630438A (zh) | 流处理任务调度方法和分布式流处理系统 | |
CN114840248A (zh) | 一种基于企业级分布式应用服务的系统灰度发布方法 | |
CN111756778A (zh) | 一种服务器磁盘清理脚本推送的方法、装置和存储介质 | |
CN106412088A (zh) | 一种数据同步方法及终端 | |
CN104750545A (zh) | 一种调度进程的方法及装置 | |
CN111782412A (zh) | 一种数据的获取方法、服务器及相关系统 | |
CN111404653B (zh) | 一种监控服务系统、方法和装置 | |
CN111541759A (zh) | 一种云平台通信系统及其通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |