一种基于分布式系统的数据的处理方法及装置与流程

文档序号:17262312发布日期:2019-03-30 09:45阅读:183来源:国知局
一种基于分布式系统的数据的处理方法及装置与流程

本发明涉及计算机技术领域,特别是涉及一种基于分布式系统的数据的处理方法及装置。



背景技术:

在信息时代迅速发展的今天,互联网也随之渗入到人们的生活中,各种解放人力的自动化系统也入雨后春笋般出现。这些系统在开发技术上如出一辙,但是随着对服务器的性能要求越来越高,很多系统在用户数量剧增的情况下会出现系统崩溃的情况。

现有的技术往往在用户量暴增的时候会出现需要排队的情况,有时候数据也会出现误差,数据不能做到实时更新。由于用户暴增,在数据处理方面对服务器的要求比较高,容易导致用户不能及时获取数据,出现服务器对于用户的操作不能及时响应并导致数据准确性降低的问题。



技术实现要素:

基于此,有必要针对目前用户暴增时用户不能及时获取数据的问题,提供一种基于分布式系统的数据的处理方法及装置。

一种基于分布式系统的数据处理方法,包括:

分布式系统判断是否同时有多个用户操作;

如果是,则为每一个用户操作分配对应的服务器;

所述服务器为对应的每一个用户操作开启对应的一个线程;

每个所述线程对响应于相应用户操作的数据进行处理;

将处理后的数据返回至与对应用户操作关联的用户界面。

优选的,所述每个所述线程对响应于相应用户操作的数据进行处理,具体为:

每个所述线程判断是否有响应于相应用户操作的数据;

如果有,则对所述数据进行处理。

优选的,将处理后的数据返回至与对应用户操作关联的用户界面之前,所述方法还包括:

对处理后的数据进行备份。

优选的,将处理后的数据返回至与对应用户操作关联的用户界面之前,所述方法还包括:

将处理后的数据插入至对应服务器的缓存空间;

所述将处理后的数据返回至与对应用户操作关联的用户界面,具体为:

从缓存空间中读取所述处理后的数据,并返回至与对应用户操作关联的用户界面。

优选的,每个所述线程对响应于相应用户操作的数据进行处理,包括:

每个线程获取响应于相应用户操作的数据;

对响应于相应用户操作的数据进行加锁;

对加锁后的响应于相应用户操作的数据进行处理。

一种基于分布式系统的数据处理装置,包括:

判断模块,用于通过分布式系统判断是否同时有多个用户操作;

分配模块,用于在所述判断模块判断为是时,为每一个用户操作分配对应的服务器;

开启模块,用于通过所述服务器为对应的每一个用户操作开启对应的一个线程;

处理模块,用于通过每个所述线程对响应于相应用户操作的数据进行处理;

返回模块,用于将处理后的数据返回至与对应用户操作关联的用户界面。

优选的,所述处理模块具体用于:

通过每个所述线程判断是否有响应于相应用户操作的数据;

如果有,则对所述数据进行处理。

优选的,所述装置还包括:

备份模块,用于对处理后的数据进行备份。

优选的,所述装置还包括:

缓存模块,用于将处理后的数据插入至对应服务器的缓存空间;

所述返回模块具体用于:

从缓存空间中读取所述处理后的数据,并返回至与对应用户操作关联的用户界面。

优选的,所述处理模块具体用于:

通过每个线程获取响应于相应用户操作的数据;

对响应于相应用户操作的数据进行加锁;

对加锁后的响应于相应用户操作的数据进行处理。

本发明中,分布式系统判断用户操作暴增时,可以为每一个用户操作分配对应的服务器;服务器可以为对应的每一个用户操作开启对应的一个线程;每个线程对响应于相应用户操作的数据进行处理;最后,对应的服务器可以将处理后的数据返回至与对应用户操作关联的用户界面。由此,在用户操作暴增时,用户操作在不同的线程内处理,保证对每一个用户操作的处理均是独立的,从而在用户操作暴增时,提升对用户操作的处理效率;同时,处理后的数据会被及时的返回至对应的用户界面,提升用户获取数据的及时性。

附图说明

图1为一实施例的基于分布式系统的数据处理方法的流程图;

图2为一实施例的基于分布式系统的数据处理装置的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一实施例的基于分布式系统的数据处理方法的流程图。如图1所示,该方法包括:

步骤110,分布式系统判断是否同时有多个用户操作。

可以理解,本实施例的实现基于分布式系统。

在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件(middleware)负责实现这个模型。

可以理解,在用户操作暴增时,在同一时刻,会有多个用户操作同时进入分布式系统,对于进入到分布式系统的用户操作,分布式系统可以判断是否同时有多个用户操作。

步骤120,如果是,则为每一个用户操作分配对应的服务器。

如果在同一时刻有多个用户操作,分布式系统则为每一个用户操作分配对应的服务器。

可以理解,一个服务器可以对应至少一个用户操作。分布式系统在分配服务器时,可以基于服务器的使用情况作出将用户操作分配给具体的某个服务器,保证服务器的工作量均衡。因此,分布式系统可以优先的将用户操作分配给任务量最少的服务器。

步骤130,服务器为对应的每一个用户操作开启对应的一个线程。

当分布式系统为用户操作分配完服务器后,服务器可以建立对应的线程为用户操作提供服务。

在这里,每一个用户操作分别对应一个线程。

步骤140,每个线程对响应于相应用户操作的数据进行处理。

每个线程会对响应于相应用户操作的数据进行处理,处理过程需要具体的用户操作所涉及的具体的指令或者内容,可以理解,其可以是基于算法、公式等的不同情况的处理。

步骤150,将处理后的数据返回至与对应用户操作关联的用户界面。

对于处理后的数据,服务器可以将这些数据返回给对应用户操作关联的用户界面。

可以理解,用户操作是由用户界面发出的,因此,用户操作关联的用户界面,即用户产生用户操作时所对应的用户界面。

本发明中,分布式系统判断用户操作暴增时,可以为每一个用户操作分配对应的服务器;服务器可以为对应的每一个用户操作开启对应的一个线程;每个线程对响应于相应用户操作的数据进行处理;最后,对应的服务器可以将处理后的数据返回至与对应用户操作关联的用户界面。由此,在用户操作暴增时,用户操作在不同的线程内处理,保证对每一个用户操作的处理均是独立的,从而在用户操作暴增时,提升对用户操作的处理效率;同时,处理后的数据会被及时的返回至对应的用户界面,提升用户获取数据的及时性。

本实施例中,每个线程对响应于相应用户操作的数据进行处理,具体为:

每个线程判断是否有响应于相应用户操作的数据;

如果有,则对数据进行处理。

可以理解,每个线程只有判断有响应于用户操作的数据时,才会对数据进行处理,否则,自然不需要对数据进行处理,此时,线程会被服务器取消。

本实施例中,将处理后的数据返回至与对应用户操作关联的用户界面之前,方法还包括:对处理后的数据进行备份。

本实施例中,可以对数据进行备份,减低数据丢失的风险,以及保证数据的准确性。

本实施例中,将处理后的数据返回至与对应用户操作关联的用户界面之前,以上方法还包括:

将处理后的数据插入至对应服务器的缓存空间;

将处理后的数据返回至与对应用户操作关联的用户界面,具体为:

从缓存空间中读取处理后的数据,并返回至与对应用户操作关联的用户界面。

对于线程处理后的数据,对应的线程可以将这些数据插入至对应服务器的缓存空间。之后,可以直接从缓存空间中读取处理后的数据,并将数据返回至对应的用户界面。从服务器的缓存空间中返回数据,可以提高数据的返回效率和准确性。

本实施例中,每个线程对响应于相应用户操作的数据进行处理,包括:

每个线程获取响应于相应用户操作的数据;

对响应于相应用户操作的数据进行加锁;

对加锁后的响应于相应用户操作的数据进行处理。

每个线程可以对相应的用户操作进行分析,从而获取响应于相应用户操作的数据。这些数据可以是多种多样的,对于具体的数据的种类或类型,本实施例不再具体阐述。

线程在处理数据之前,会对响应于相应用户操作的数据进行加锁。

java多线程可以通过synchronized关键字或者java.util.concurrent包中的lock接口和reentrantlock实现类的两种方式实现加锁。具体的加锁方式本实施例不再具体祥述。

之后,线程可以对加锁后的响应于相应用户操作的数据进行处理。

当用户操作独立时,对数据进行加锁处理,可以解决数据不能同步更新的问题,使每个用户都能看到精确的实时数据。

可以理解,本实施例通过分布式服务器可以使响应速度更快;通过以上方法,可以使数据实时同步更新,保证数据的准确性,减少脏数据插入。进一步的,本实施例可以在保证服务器性能的情况下,实现数据的实时同步,防止脏数据存入缓存空间数据库,最大可能减少数据误差。

图2为一实施例的基于分布式系统的数据处理装置的结构图。如图2所示,该装置包括:

判断模块210,用于通过分布式系统判断是否同时有多个用户操作;

分配模块220,用于在判断模块判断为是时,为每一个用户操作分配对应的服务器;

开启模块230,用于通过服务器为对应的每一个用户操作开启对应的一个线程;

处理模块240,用于通过每个线程对响应于相应用户操作的数据进行处理;

返回模块250,用于将处理后的数据返回至与对应用户操作关联的用户界面。

本发明中,分布式系统判断用户操作暴增时,可以为每一个用户操作分配对应的服务器;服务器可以为对应的每一个用户操作开启对应的一个线程;每个线程对响应于相应用户操作的数据进行处理;最后,对应的服务器可以将处理后的数据返回至与对应用户操作关联的用户界面。由此,在用户操作暴增时,用户操作在不同的线程内处理,保证对每一个用户操作的处理均是独立的,从而在用户操作暴增时,提升对用户操作的处理效率;同时,处理后的数据会被及时的返回至对应的用户界面,提升用户获取数据的及时性。

在本实施例的一实现方式中,处理模块具体用于:

通过每个线程判断是否有响应于相应用户操作的数据;

如果有,则对数据进行处理。

在本实施例的一实现方式中,装置还包括:

备份模块,用于对处理后的数据进行备份。

在本实施例的一实现方式中,装置还包括:

缓存模块,用于将处理后的数据插入至对应服务器的缓存空间;

返回模块具体用于:

从缓存空间中读取处理后的数据,并返回至与对应用户操作关联的用户界面。

在本实施例的一实现方式中,处理模块具体用于:

通过每个线程获取响应于相应用户操作的数据;

对响应于相应用户操作的数据进行加锁;

对加锁后的响应于相应用户操作的数据进行处理。

以上装置实施例的实现可以基于以上方法实施例中的具体内容,本实施例在此不再具体阐述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1