本发明涉及数据处理技术领域,具体而言,涉及一种数据处理方法及装置、分布式网络系统、计算机设备。
背景技术:
在分布式存储数据库系统中,会涉及到多个分布式节点,节点间共享缓存,同时,每个节点都保存它所管理的页面的状态信息,这种情况下,当一个节点宕机时,会对宕机节点所管理的页面信息进行恢复,大部分页面状态信息,都可以从其他节点获取并恢复出来。但是,当前存在一些节点会在发送页面访问请求时出现宕机,无法立即恢复数据,导致页面信息在宕机后丢失,例如,一些有些页面是宕机节点修改、并由宕机节点管理的,这些页面的信息会在宕机后丢失,此时,系统无法立刻恢复该宕机节点所管理的页面信息,从而无法准确知道宕机前哪些页面是正在被修改的、需要恢复的页面,最终会导致系统无法立即开放所有宕机节点管理的数据的访问,系统可用性降低。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种数据处理方法及装置、分布式网络系统、计算机设备,以至少解决相关技术中在分布式系统中由于部分节点出现宕机,导致系统无法立即开放该宕机节点所管理的数据供用户访问,系统可用性降低的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:分布式网络中的指定节点接收页面的访问请求;所述指定节点确定所述访问请求的发送方;在所述发送方对应的节点与所述指定节点一致时,所述指定节点将所述访问请求转发至所述分布式网络中的其他节点。
根据本发明实施例的另一方面,还提供了一种数据处理方法,包括:分布式网络中的指定节点接收页面的访问请求;所述指定节点确定所述访问请求的发送方;在所述发送方对应的节点与所述指定节点一致时,所述指定节点向所述分布式网络中的其他节点通知所述页面的当前状态。
根据本发明实施例的另一方面,还提供了一种数据处理方法,包括:分布式网络中的指定节点接收页面的访问请求;所述指定节点将所述访问请求转发至所述分布式网络中的其他节点;所述其他节点确定所述访问请求的类型;所述其他节点在所述类型为排他锁请求时,记录所述页面的状态信息,该状态信息用于指示所述页面正处于加锁状态。
根据本发明实施例的另一方面,还提供了一种分布式网络系统,包括:多个分布式节点;其中,所述多个分布式节点中的指定节点,用于接收页面的访问请求;确定所述访问请求的发送方;以及在所述发送方对应的节点与所述指定节点一致时,将所述访问请求转发至所述分布式网络中的其他节点。
根据本发明实施例的另一方面,还提供了一种数据处理装置,该装置应用于分布式网络的指定节点中,所述装置包括:接收模块,用于接收页面的访问请求;确定模块,用于确定所述访问请求的发送方;发送模块,用于在所述发送方对应的节点与所述指定节点一致时,将所述访问请求转发至所述分布式网络中的其他节点。
根据本发明实施例的另一方面,还提供了一种计算机设备,包括:处理器;以及存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:接收页面的访问请求;确定所述访问请求的发送方;在所述发送方对应的节点与计算机设备一致时,将所述访问请求转发至所述分布式网络中的其他节点。
在本发明实施例中,采用分布式网络中的指定节点接收页面的访问请求,指定节点确定访问请求的发送方,在发送方对应的节点与指定节点一致时,指定节点将访问请求转发至分布式网络中的其他节点。在该实施例中,可以在有访问请求时,确定请求发送方与指定节点是否一致,若一致则可以将访问请求转发至分布式网络中的其他节点中,通过其他节点缓存该访问请求所对应页面的状态信息,从而实现数据的多重存储,避免在指定节点为管理节点时导致页面信息在宕机后丢失,通过其他节点缓存页面的状态信息,可以在该指定节点出现宕机后,通过其他节点找回访问请求的页面的状态信息,并完成数据处理,这样就可以降低宕机时出现的访问延时或者访问请求丢失的频率,极大减少数据恢复过程中的数据不可访问的时间,提高系统的可用性,进而解决相关技术中在分布式系统中由于部分节点出现宕机,导致系统无法立即开放该宕机节点所管理的数据供用户访问,系统可用性降低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现数据处理方法的计算机终端的硬件结构框图;
图2示出了一种数据处理方法网络终端的示意图;
图3是根据本发明实施例一的数据处理方法的流程图;
图4是根据本发明实施例的另一种可选地数据处理方法的流程图一;
图5是根据本发明实施例的另一种可选的数据处理方法的流程图二;
图6是根据本发明实施例的一种分布式网络的示意图;
图7是根据本发明实施例的一种可选的数据处理装置的示意图;
图8是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,还提供了一种数据处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的数据处理方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(即i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
图1示出的硬件结构框图,不仅可以作为上述计算机终端10(或移动设备)的示例性框图,还可以作为上述服务器的示例性框图,一种可选实施例中,图2示出了一种数据处理方法网络终端的示意图,如图2所示,计算机终端10(或移动设备)可以经由数据网络连接或电子连接到一个或多个服务器(例如安全服务器、资源服务器、游戏服务器等)。一种可选实施例中,上述计算机终端10(或移动设备)可以是任意移动计算设备等。数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。计算机终端10(或移动设备)可以执行以连接到由一个服务器(例如安全服务器)或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。
在上述运行环境下,本申请提供了如图3所示的数据处理方法。图3是根据本发明实施例一的数据处理方法的流程图。如图3所示,该方法包括:
步骤s302,分布式网络中的指定节点接收页面的访问请求;
步骤s304,指定节点确定访问请求的发送方;
步骤s306,在发送方对应的节点与指定节点一致时,指定节点将访问请求转发至分布式网络中的其他节点。
通过上述步骤,可以采用分布式网络中的指定节点接收页面的访问请求,指定节点确定访问请求的发送方,在发送方对应的节点与指定节点一致时,利用指定节点将访问请求转发至分布式网络中的其他节点。在该实施例中,可以在有访问请求时,确定请求发送方与指定节点是否一致,若一致则可以将访问请求转发至分布式网络中的其他节点中,通过其他节点缓存该访问请求所对应页面的状态信息,从而实现数据的多重存储,避免在指定节点为管理节点时导致页面信息在宕机后丢失,通过其他节点缓存页面的状态信息,可以在该指定节点出现宕机后,通过其他节点找回访问请求的页面的状态信息,并完成数据处理,这样就可以降低宕机时出现的访问延时或者访问请求丢失的频率,极大减少数据恢复过程中的数据不可访问的时间,提高系统的可用性,进而解决相关技术中在分布式系统中由于部分节点出现宕机,导致系统无法立即开放该宕机节点所管理的数据供用户访问,系统可用性降低的技术问题。
本申请实施例可以应用于分布式系统中,尤其是分布式共享数据库系统中,例如,对分布式网络中的多个节点进行管理。本申请实施例从指定节点的角度对分布式系统或者分布式网络进行管理,实现节点宕机的数据处理。当有节点宕机时,选取其他的节点做数据恢复,恢复过程中,可以从所有节点上立即完整恢复所有被宕机节点修改的页面信息,此时即可对这些宕机时被修改的页面加锁,同时恢复所有数据的读写。
下面结合各个步骤对本申请进行说明。
步骤s302,分布式网络中的指定节点接收页面的访问请求。
在本发明实施例中,分布式网络中可以为包括多个节点的网络,网络结构中包括分布在不同地点且具有多个终端的节点机相互连接而成的,网络中任意节点均至少与两条线路相连,当任意一条线路发生故障时,通信可以经由其他链路完成。
在本发明实施例中,网络包括多个节点间共享缓存数据,并通过一个或多个指定节点对其他节点进行管理,指定节点中会记录一个信息表,信息表中包括其管理的各个节点以及每个节点中的缓存数据或者缓存数据页面。若一个节点(节点1)需要访问一个数据页面时,需要向该数据页面对应的指定节点(节点2)发送访问请求,指定节点(节点2)查看自己保存的信息表,确定当前哪个节点的缓存中有该数据页面,向该节点(节点3)发送访问请求,该节点(节点3)直接把数据页面发送给最开始的节点(即节点1)。
在本申请的一些实施例中,每个节点都保存其管理的页面的状态信息和页面数据。
本发明实施例中的指定节点可以定义为修改节点和管理节点,该指定节点管理的其他节点的数量在本发明实施例中不做限定,例如,定义节点node2管理其他三个节点node1、node3、node4。
在具体处理页面数据请求时,通过该指定节点接收页面的访问请求,由于一个分布式网络中可能包括多个指定节点,每一个指定节点都管理多个节点,这样在发送访问请求时,其需要管理自己的指定节点发送访问请求,以得到相应的页面数据。
上述页面的访问请求,请求内容可以包括但不限于:网页视频、文章、语音、歌曲等内容请求,一个分布式节点可能缓存多项页面数据。
步骤s304,指定节点确定访问请求的发送方。
在指定节点接收到页面的访问请求后,可以先确定哪个节点发送该访问请求,一种可选的实施方式,指定节点确定访问请求的发送方包括:指定节点从访问请求中获取页面的页面标识;指定节点基于页面标识确定页面对应的节点标识,将该节点标识对应的节点作为发送方。
其中,上述页面的页面标识可以包括但不限于:页面链接(如url)、页面上标识数字和/或字母、页面排序号等。通过页面标识可以确定其所属的节点,然后确定出访问请求的发送方。
在本发明另一可选的实施例中,指定节点基于页面标识确定页面对应的节点标识,包括:指定节点对页面标识进行哈希运算,得到哈希值;基于哈希值确定页面对应的节点标识。
即本发明的一些实施例中可以通过页面标识做哈希运算,通过哈希值确定其所属的节点标识。例如,在页面标识为该页面的页面号,则通过页面号做哈希运算,并根据哈希值确定页面对应的节点标识。当然,由于发送页面的访问请求可能为指定节点,也可能为指定节点所管理的其他节点,对于不同节点其节点标识也不相同,若发送页面的访问请求为该指定节点,例如,指定节点node2,则可以通过页面号做hash,根据hash值可确定节点标识。
节点标识可以包括:节点号、节点码等,该节点标识可以为指定节点号,也可以为其他节点号。通过哈希值可以确定页面的访问请求所对应的指定节点号。
在本发明的一些实施例中,若一个节点需要访问一个数据页面时,需要向该数据页面对应的指定节点发送访问请求。这样会包括两种情况,第一种,其他节点向其指定节点发送访问请求,即其他节点需要获取到页面数据;第二种,指定节点向指定节点自身发送访问请求,即指定节点也需要获取到相应的页面数据。即都需要通过指定节点来读取相应的页面数据,对于第一种情况,由于是其他节点向其指定节点发送访问请求,在其发送访问请求时,自身会记录访问请求的内容,并且通过指定节点或者其他节点也记录该访问请求的内容,同时每个访问请求的页面所访问的节点都会记下来页面的状态信息,因此,即使指定节点出现宕机或者其它故障,也可以从其他节点获取并恢复访问请求所对应页面的页面状态和访问页面内容。而对于第二种情况,由于请求访问的节点就是自身,没有通过其他节点缓存,可能会在宕机时出现页面数据无法访问的情况,只有等待将宕机节点的redo日志全部扫描一遍,获取被修改的页面的集合,再从其他节点获取的其他页面信息集合,两个集合求并集,并将并集中的页面全部加锁后,原来由宕机节点的管理的数据才可以访问(访问被加锁的这部分页面会被阻塞指定页面恢复完成)。
步骤s306,在发送方对应的节点与指定节点一致时,指定节点将访问请求转发至分布式网络中的其他节点。
即本发明实施例可以在指定节点接收到发送方的访问请求后,若确定出发送方即指定节点自身,可以将访问请求先转发至分布式网络中的其他节点,然后通过其他节点缓存该访问请求对应页面的页面状态,进行通知(备案)处理,若指定节点自身在获取数据时,出现宕机或者故障等状况,通过该其他节点即可恢复访问请求的页面的状态信息,从而快速查找到页面数据。
可选地,本发明实施例中指定节点若将访问请求发送给所述其他节点,则其他节点可以记录该访问请求所请求页面的状态信息(记录该页面被加排他锁),这样在指定节点出现宕机时,从其他节点获取到访问请求所请求页面的页面状态。
在本发明另一可选的实施例中,指定节点将访问请求转发至分布式网络中的其他节点之前,方法还包括:指定节点基于指定节点的节点标识和分布式网络中的节点数量确定目标节点号;将目标节点号对应的节点作为其他节点。
在选取其他节点时,需要参考指定节点的节点标识和分布式网络中的节点数量,其中,通过指定节点的节点标识可以确定其所在的位置,并查询其周围的节点,这些周围节点可以优选选取,以作为所述其他节点,通过分布式网络中的节点数量,可以确定需要几个其他节点缓存该访问请求。例如,先确定指定节点的节点号,然后将访问请求转发给第((指定节点号+1)%总节点数量)个节点。
其中,上述其他节点在接收到访问请求后,可以记录该访问请求所请求页面的状态信息。在本发明一可选的实施例中,上述方法还包括:其他节点确定访问请求的类型;在类型为排他锁请求时,记录页面的状态信息,该状态信息用于指示页面正处于加锁状态。即如果访问请求的类型为排他锁请求时,需要记录该页面的状态信息,通过该状态信息指示其页面正处于加锁状态。
当发送到页面的master节点(即管理此页面的节点)的页面锁请求来自于本节点时(即请求者就是master节点),请求要同时发送给另外一个节点(即所述其他节点)保存,这样页面的锁信息会留有两个副本。这样,所有页面的信息都至少有两个节点持有:例如当页面0的master节点是节点1时,如果节点2请求了此页面,则在节点2和节点1都会有页面的信息(谁持有页面有什么锁);如果节点1请求了页面0,则节点1会向另一个节点(如节点3)转发一下请求信息使节点3也有此加锁信息(避免只有节点1有信息。从而,当任一节点挂掉,总能从其他节点重建锁信息。
可选地,指定节点将访问请求转发至分布式网络中的其他节点之后,方法还包括:指定节点在宕机后,从其他节点中获取页面的状态信息;指定节点基于页面的状态信息恢复页面的页面状态。
即可以在指定节点宕机时,选取剩下的节点中的一个(即所述其他节点)做数据恢复,恢复过程中,可以从其他节点中获取页面的状态信息,然后指定节点基于该页面的状态信息恢复页面的页面状态,若页面的状态信息指示该页面处于加锁状态,这样,在恢复时,可以将该页面解锁,并继续获取该页面的页面数据。
本发明实施例中,可以从所有节点上立即完整恢复所有被宕机节点修改的页面信息。同样,指定节点也可以根据该其他节点获取到页面的状态信息,通过该页面信息恢复该页面的页面状态。
另一种可选地,上述方法还包括:在类型不是排他锁请求,并且发送方对应的节点与指定节点一致时,确定页面对应的节点;指定节点向页面对应的节点发送访问请求;指定节点接收页面对应的节点发送的页面数据,该页面数据为与页面对应的页面数据。
即如果确定访问请求的类型不是排他锁请求,此时该访问请求对应的页面可以直接进行访问,这样就可以让指定节点向页面对应的节点发送访问请求,然后接收页面对应的节点发送的页面数据,该页面数据为与页面对应的页面数据。例如,指定节点(node2)确定当前哪个节点的缓存持有此页面,则向该节点(如node1)发送请求,该节点收到请求后,直接把页面发送给最开始的读请求节点(如node3)。
通过上述实施例,可以对分布式网络中进行数据处理,在处理过程中,若发送页面的访问请求为指定节点(即管理节点)自身,则可以将访问请求发送给一个其他节点,该其他节点记录与该访问请求对应的页面的状态信息(即记录页面被加排他锁),这样即使指定节点发生宕机,也可以通过其他节点获取页面的状态信息,并基于页面的状态信息恢复页面的页面状态,然后接收页面对应的节点发送的页面数据,从而可以在极大减少数据恢复过程中的数据不可访问的时间,提升系统的可用性。
下面通过另一可选的实施例来说明本发明。
图4是根据本发明实施例的另一种可选地数据处理方法的流程图一,如图4所示,该方法包括:
步骤s402,分布式网络中的指定节点接收页面的访问请求;
步骤s404,指定节点确定访问请求的发送方;
步骤s406,在发送方对应的节点与指定节点一致时,指定节点向分布式网络中的其他节点通知页面的当前状态。
通过上述步骤,采用分布式网络中的指定节点接收页面的访问请求,指定节点确定访问请求的发送方,在发送方对应的节点与指定节点一致时,指定节点向分布式网络中的其他节点通知页面的当前状态。在该实施例中,可以实现在分布式网络中,若发送方为指定节点自身,则可以通过其他节点记录页面的当前状态,这样即使指定节点出现宕机,也可以通过其他节点找回页面的状态信息,从而完成数据处理,这样就可以降低宕机时出现的访问延时或者访问请求丢失的频率,极大减少数据恢复过程中的数据不可访问的时间,提高系统的可用性,进而解决相关技术中在分布式系统中由于部分节点出现宕机,导致系统无法立即开放该宕机节点所管理的数据供用户访问,系统可用性降低的技术问题。
可选地,上述指定节点向分布式网络中的其他节点通知页面的当前状态,包括:指定节点向其他节点发送访问请求,该访问请求用于确定页面的状态。
即可以通过指定节点发送状态访问请求,以确定上述发送页面的访问请求所在的页面的状态,可选地,该状态可以为被加排他锁和未加排他锁。该状态可以直接通过访问请求确定,例如,在类型为排他锁请求时,记录页面的状态信息,该状态信息用于指示页面正处于加锁状态;在类型不是排他锁请求,并且发送方对应的节点与指定节点一致时,确定页面对应的节点;指定节点向页面对应的节点发送访问请求;指定节点接收页面对应的节点发送的页面数据,该页面数据为与页面对应的页面数据。
下面通过另一可选的实施例来说明本发明。
图5是根据本发明实施例的另一种可选的数据处理方法的流程图二,如图5所示,该方法包括:
步骤s502,分布式网络中的指定节点接收页面的访问请求;
步骤s504,指定节点将访问请求转发至分布式网络中的其他节点;
步骤s506,其他节点确定访问请求的类型;
步骤s508,其他节点在类型为排他锁请求时,记录页面的状态信息,该状态信息用于指示页面正处于加锁状态。
通过上述步骤,分布式网络中的指定节点接收页面的访问请求,指定节点将访问请求转发至分布式网络中的其他节点,其他节点确定访问请求的类型,其他节点在类型为排他锁请求时,记录页面的状态信息,该状态信息用于指示页面正处于加锁状态。在该实施例中,可以通过指定节点将访问请求转发至分布式网络中的其他节点,利用其他节点记录访问请求的页面的状态信息,从而实现数据的多重存储,避免在指定节点为管理节点时导致页面信息在宕机后丢失,通过其他节点找回发送访问请求的页面的状态信息,并完成数据处理,这样就可以降低宕机时出现的访问延时或者访问请求丢失的频率,极大减少数据恢复过程中的数据不可访问的时间,提高系统的可用性,进而解决相关技术中在分布式系统中由于部分节点出现宕机,导致系统无法立即开放该宕机节点所管理的数据供用户访问,系统可用性降低的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的数据处理方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据处理方法的分布式网络,图6是根据本发明实施例的一种分布式网络的示意图,如图6所示,该分布式网络包括:多个分布式节点,该多个分布式节点可以为指定节点61、分布式节点62、分布式节点63、分布式节点64;其中,多个分布式节点中的指定节点,用于接收页面的访问请求;确定访问请求的发送方;以及在发送方对应的节点与指定节点一致时,将访问请求转发至分布式网络中的其他节点。
上述分布式网络,可以通过多个分布式节点中的指定节点接收页面的访问请求,确定访问请求的发送方,以及在发送方对应的节点与指定节点一致时,将访问请求转发至分布式网络中的其他节点。在该实施例中,可以在有访问请求时,确定请求发送方与指定节点是否一致,若一致则可以将访问请求转发至分布式网络中的其他节点中,通过其他节点缓存该访问请求所对应页面的状态信息,避免在指定节点为管理节点时导致页面信息在宕机后丢失,通过其他节点缓存页面的状态信息,可以在该指定节点出现宕机后,通过其他节点找回访问请求的页面的状态信息,并完成数据处理,这样就可以降低宕机时出现的访问延时或者访问请求丢失的频率,极大减少数据恢复过程中的数据不可访问的时间,提高系统的可用性,进而解决相关技术中在分布式系统中由于部分节点出现宕机,导致系统无法立即开放该宕机节点所管理的数据供用户访问,系统可用性降低的技术问题。
实施例3
根据本发明实施例,还提供了一种数据处理装置,图7是根据本发明实施例的一种可选的数据处理装置的示意图,该装置应用于分布式网络的指定节点中,如图7所示,该装置可以包括:接收模块71,确定模块73,发送模块75,其中,
接收模块71,用于接收页面的访问请求;
确定模块73,用于确定所述访问请求的发送方;
发送模块75,用于在所述发送方对应的节点与所述指定节点一致时,将所述访问请求转发至所述分布式网络中的其他节点。
上述数据处理装置,可以通过接收模块71接收页面的访问请求,通过确定模块73确定访问请求的发送方,通过发送模块75在发送方对应的节点与指定节点一致时,指定节点将访问请求转发至分布式网络中的其他节点。在该实施例中,可以在有访问请求时,确定请求发送方与指定节点是否一致,若一致则可以将访问请求转发至分布式网络中的其他节点中,通过其他节点缓存该访问请求所对应页面的状态信息,从而实现数据的多重存储,避免在指定节点为管理节点时导致页面信息在宕机后丢失,通过其他节点缓存页面的状态信息,可以在该指定节点出现宕机后,通过其他节点找回访问请求的页面的状态信息,并完成数据处理,这样就可以降低宕机时出现的访问延时或者访问请求丢失的频率,极大减少数据恢复过程中的数据不可访问的时间,提高系统的可用性,进而解决相关技术中在分布式系统中由于部分节点出现宕机,导致系统无法立即开放该宕机节点所管理的数据供用户访问,系统可用性降低的技术问题。
上述的数据处理装置还可以包括处理器和存储器,上述接收模块71,确定模块73,发送模块75等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来在所述发送方对应的节点与所述指定节点一致时,将所述访问请求转发至所述分布式网络中的其他节点。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。
此处需要说明的是,上述接收模块71、确定模块73和发送模块75对应于实施例1中的步骤s304至步骤s306,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例4
本发明的实施例可以提供一种计算机设备,计算机设备位于分布式网络中,该计算机设备可以是计算机设备群中的任意一个计算机设备。可选地,在本实施例中,上述计算机设备也可以替换为移动终端等设备。
可选地,在本实施例中,上述计算机设备可以位于分布式计算机网络的多个网络设备中的至少一个网络设备。
可选地,上述计算机设备包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:接收页面的访问请求;确定访问请求的发送方;在发送方对应的节点与计算机设备一致时,将访问请求转发至分布式网络中的其他节点。
在本实施例中,上述计算机设备还可以执行数据处理方法中以下步骤的程序代码:从访问请求中获取页面的页面标识;基于页面标识确定页面对应的节点标识,将该节点标识对应的节点作为发送方。
在本实施例中,上述计算机设备还可以执行数据处理方法中以下步骤的程序代码:对页面标识进行哈希运算,得到哈希值;基于哈希值确定页面对应的节点标识。
在本实施例中,上述计算机设备还可以执行数据处理方法中以下步骤的程序代码:基于指定节点的节点标识和分布式网络中的节点数量确定目标节点号;将目标节点号对应的节点作为其他节点。
在本实施例中,上述计算机设备还可以执行数据处理方法中以下步骤的程序代码:其他节点确定访问请求的类型;在类型为排他锁请求时,记录页面的状态信息,该状态信息用于指示页面正处于加锁状态。
在本实施例中,上述计算机设备还可以执行数据处理方法中以下步骤的程序代码:将访问请求转发至分布式网络中的其他节点之后,指定节点在宕机后,从其他节点中获取页面的状态信息;指定节点基于页面的状态信息恢复页面的页面状态。
在本实施例中,上述计算机设备还可以执行数据处理方法中以下步骤的程序代码:在类型不是排他锁请求,并且发送方对应的节点与指定节点一致时,确定页面对应的节点;指定节点向页面对应的节点发送访问请求;指定节点接收页面对应的节点发送的页面数据,该页面数据为与页面对应的页面数据。
可选地,图8是根据本发明实施例的一种计算机终端的结构框图。如图8所示,该计算机终端a可以包括:一个或多个处理器、存储器、以及网络接口、输入/输出接口、键盘、显示器。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收页面的访问请求;确定访问请求的发送方;在发送方对应的节点与计算机设备一致时,将访问请求转发至分布式网络中的其他节点。
可选的,上述处理器还可以执行如下步骤的程序代码:从访问请求中获取页面的页面标识;基于页面标识确定页面对应的节点标识,将该节点标识对应的节点作为发送方。
可选的,上述处理器还可以执行如下步骤的程序代码:对页面标识进行哈希运算,得到哈希值;基于哈希值确定页面对应的节点标识。
可选的,上述处理器还可以执行如下步骤的程序代码:基于指定节点的节点标识和分布式网络中的节点数量确定目标节点号;将目标节点号对应的节点作为其他节点。
可选的,上述处理器还可以执行如下步骤的程序代码:其他节点确定访问请求的类型;在类型为排他锁请求时,记录页面的状态信息,该状态信息用于指示页面正处于加锁状态。
可选的,上述处理器还可以执行如下步骤的程序代码:将访问请求转发至分布式网络中的其他节点之后,指定节点在宕机后,从其他节点中获取页面的状态信息;指定节点基于页面的状态信息恢复页面的页面状态。
采用本发明实施例,提供了一种数据处理的方案。通过采用分布式网络中的指定节点接收页面的访问请求,指定节点确定访问请求的发送方,在发送方对应的节点与指定节点一致时,指定节点将访问请求转发至分布式网络中的其他节点,从而达到了降低宕机时出现的访问延时或者访问请求丢失的频率,极大减少数据恢复过程中的数据不可访问的时间,提高系统的可用性的目的,进而解决了相关技术中在分布式系统中由于部分节点出现宕机,导致系统无法立即开放该宕机节点所管理的数据供用户访问,系统可用性降低的技术问题。
本领域普通技术人员可以理解,图8所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图8并不对上述电子装置的结构造成限定。例如,计算机终端a还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收页面的访问请求;确定访问请求的发送方;在发送方对应的节点与计算机设备一致时,将访问请求转发至分布式网络中的其他节点。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。