CN111176842A - 数据处理方法、装置、电子设备及存储介质 - Google Patents

数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111176842A
CN111176842A CN201911335661.9A CN201911335661A CN111176842A CN 111176842 A CN111176842 A CN 111176842A CN 201911335661 A CN201911335661 A CN 201911335661A CN 111176842 A CN111176842 A CN 111176842A
Authority
CN
China
Prior art keywords
data
server
hash value
detected
query
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.)
Pending
Application number
CN201911335661.9A
Other languages
English (en)
Inventor
陈加焕
刘泽海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN201911335661.9A priority Critical patent/CN111176842A/zh
Publication of CN111176842A publication Critical patent/CN111176842A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种基于大数据处理的数据处理方法、装置、电子设备及存储介质,所述方法包括:获取服务器列表以及待处理数据;服务器列表包括多个服务器;实时监测服务器的状态并及时更新服务器列表;根据服务器列表计算每个服务器对应的位置参数;计算服务器列表的总长度作为长度参数;对待处理数据进行分片得到分片数据并计算分片数据对应的HASH值;建立每个HASH值与每个位置参数之间的映射;根据HASH值与位置参数之间的映射,每个服务器并行处理对应的数据。本发明的数据处理方法对数据进行分片处理,确保数据与服务器之间的唯一对应关系,有利于提高数据处理速度,保证了数据不会遗漏处理。

Description

数据处理方法、装置、电子设备及存储介质
技术领域
本发明涉及大数据技术领域,具体涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着互联网的快速发展及普及,众多互联网公司数据量出现爆炸式增长,数据已经渗透到每一个行业和领域,成为企业发展的风向标。然而,面对庞大且复杂的数据,以及用户对产品的快速响应的诉求,快速处理大批量数据能力对于一个公司尤为重要。传统的系统面临大量数据,系统一般会开启有且仅有一个定时任务,进行数据的查找,处理,然后反复循环的过程,这样就会导致系统一个时间段内,数据处理量有个瓶颈期,往往无法达到业务要求,某种程度上限制了产品的性能。
发明内容
有鉴于此,有必要提供一种提高对大数据处理速度的数据处理方法、装置、电子设备以及存储介质。
一种数据处理方法,包括:
在侦测到获取指令时,获取服务器列表以及待处理数据;所述服务器列表包括多个服务器;
在侦测到第一监测指令时,实时监测所述服务器的状态并及时更新所述服务器列表;
在侦测到第一计算指令时,根据所述服务器列表计算每个服务器对应的位置参数;
在侦测到第二计算指令时,计算所述服务器列表的总长度作为长度参数;
在侦测到分片指定时,对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值;
在侦测到匹配指令时,建立每个所述HASH值与每个所述位置参数之间的映射;
在侦测到处理指令时,根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
优选地,所述实时监测所述服务器的状态并及时更新所述服务器列表的步骤包括:
接收每个服务器发出的心跳信号;
判断所述心跳信号是否中断;
在检测到所述心跳信号中断时,累计中断时间;
判断所述累计中断时间是否大于预定时间;
在所述累计中断时间大于所述预定时间时,将所述服务器从所述服务器列表中删除;
在所述心跳信号未中断时,返回所述接收每个服务器发出的心跳信号的步骤。
优选地,所述对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值的步骤包括:
获取每个服务器的IP地址;
根据所述IP地址计算对应的所述服务器在所述服务器列表中的所述位置参数;
将所述位置参数存储于Redis数据库。
优选地,所述建立每个所述HASH值与每个所述位置参数之间的映射的步骤包括:
对所述待处理数据进行分片得到分片数据并计算所述分片数据的主键值;
根据所述长度参数和所述主键值采用预定函数计算每个所述分片数据的HASH值;
将所述HASH值存储于Redis数据库。
优选地,所述建立每个所述HASH值与每个所述位置参数之间的映射的步骤包括:
从所述Redis数据库中获取一个所述HASH值作为查询HASH值;
从所述Redis数据库中获取一个所述位置参数作为查询位置参数;
判断所述查询HASH值与所述查询位置参数是否一致;
在所述查询HASH值与所述查询位置参数一致时,建立所述查询HASH值与所述查询位置参数的映射,以将所述查询HASH值对应的一行数据匹配至所述查询位置参数对应的所述服务器;
在所述查询HASH值与所述查询位置参数不一致时,则识别所述查询HASH值与所述查询位置参数不匹配,返回所述从所述Redis数据库中获取一个所述位置参数作为查询位置参数的步骤;
判断所述HASH值是否为最后一个所述HASH值;
在所述HASH值是最后一个所述HASH值时,则识别完成所有所述HASH值与所述位置参数的匹配;
在所述HASH值不是最后一个所述HASH值时,返回步骤从所述Redis数据库中获取一个所述HASH值作为查询HASH值。
优选地,所述数据处理方法还包括:
在侦测到第二监测指令时,监测每个所述服务器性能并动态调整所述服务器列表。
优选地,所述监测每个所述服务器性能并动态调整所述服务器列表的步骤包括:
每隔指定时间计算每个服务器匹配的数据总量;
判断所述数据总量是否大于指定阈值;
在所述数据总量小于所述指定阈值时,返回所述每隔所述指定时间计算每个服务器匹配的数据总量的步骤;
在所述数据总量大于等于所述指定阈值时,将所述服务器从所述服务器列表中剔除。
此外,为了实现上述目的,本发明还提出一种数据处理装置,所述数据处理装置包括:
获取模块,用于在侦测到获取指令时获取服务器列表以及待处理数据;所述服务器列表包括多个服务器;
第一监测模块,用于在侦测到第一监测指令时实时监测所述服务器的状态并及时更新所述服务器列表;
第一计算模块,用于在侦测到第一计算指令时根据所述服务器列表计算每个服务器对应的位置参数;
第二计算模块,用于在侦测到第二计算指令时计算所述服务器列表的总长度作为长度参数;
分片模块,用于在侦测到分片指令时对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值;
匹配模块,用于在侦测到匹配指令时建立每个所述HASH值与每个所述位置参数之间的映射;
处理模块,用于在侦测到处理指令时根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
此外,为了实现上述目的,本发明还提出一种电子设备,所述电子设备包括处理器和存储器,处理器用于执行存储器中存储的计算机程序时执行如下步骤:
在侦测到获取指令时,获取服务器列表以及待处理数据;所述服务器列表包括多个服务器;
在侦测到第一监测指令时,实时监测所述服务器的状态并及时更新所述服务器列表;
在侦测到第一计算指令时,根据所述服务器列表计算每个服务器对应的位置参数;
在侦测到第二计算指令时,计算所述服务器列表的总长度作为长度参数;
在侦测到分片指定时,对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值;
在侦测到匹配指令时,建立每个所述HASH值与每个所述位置参数之间的映射;
在侦测到处理指令时,根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
一种存储介质,所述存储介质为计算机可读存储介质,存储有至少一个指令,所述至少一个指令被处理器执行时实现如下步骤:
在侦测到获取指令时,获取服务器列表以及待处理数据;所述服务器列表包括多个服务器;
在侦测到第一监测指令时,实时监测所述服务器的状态并及时更新所述服务器列表;
在侦测到第一计算指令时,根据所述服务器列表计算每个服务器对应的位置参数;
在侦测到第二计算指令时,计算所述服务器列表的总长度作为长度参数;
在侦测到分片指定时,对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值;
在侦测到匹配指令时,建立每个所述HASH值与每个所述位置参数之间的映射;
在侦测到处理指令时,根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
上述数据处理方法、装置、电子设备及存储介质,基于oracle计算对数据进行分片处理,并确保数据与服务器之间的唯一对应关系,有利于提高数据处理速度,同时根据心跳监测监控所有服务器,以在服务器出现问题时从服务器列表中剔除,对数据进行重新分配,保证了数据不会遗漏处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明数据处理方法的示意图。
图2为图1中步骤S11的细化流程示意图。
图3为图1宗步骤S12的细化流程示意图。
图4为图1中步骤S14的细化流程示意图。
图5为图1中步骤S15的细化流程示意图。
图6为图1中步骤S17的细化流程示意图。
图7为本发明数据处理装置的功能模块图。
图8为本发明实施例的硬件运行环境的设备结构示意图。
主要元件符号说明
数据处理装置 1
获取模块 10
第一监测模块 20
第一计算模块 30
第二计算模块 40
分片模块 50
匹配模块 60
处理模块 70
第二监测模块 80
存储器 102
通信总线 104
处理器 106
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
下面结合附图对本发明数据处理方法的具体实施方式进行说明。
本发明的至少一个实施例中,所述数据处理方法应用于至少一移动终端及多个服务器构成的数据处理系统中。所述数据处理系统提供一可视化界面。所述可视化界面用于向用户提供人机交互接口,用户可以在通过手机或电脑等电子设备连接到所述数据处理系统。所述电子设备和所述服务器之间根据预设协议进行数据传输。优选地,所述预设协议包括,但不限于以下任意一种:HTTP协议(Hyper Text Transfer Protocol,超文本传输协议)、HTTPS协议(Hyper Text Transfer Protocol over Secure Socket Layer,以安全为目标的HTTP协议)等。本发明的至少一个实施例中,所述服务器可以为由几个功能服务器共同组成的服务器群。所述电子设备可以是任意具有网络连接功能的终端,例如,所述电子设备可以为个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备、导航装置等等的可移动设备,或者台式电脑、数字TV等等固定设备。所述移动终端具有数据存储器(请参阅图8)。所述数据存储器可用于存储数据代码。所述数据处理方法用于将接收到的数据基于oracle分片处理方式进行分配,并通过监测服务器的工作状态实时调整数据分配方式。
请参阅图1,为本发明数据处理方法的示意图。
S10,在侦测到获取指令时,获取服务器列表以及待处理数据。
本发明的至少一个实施例中,所述服务器列表包括以列表形式进行存储的服务器名称以及对应的IP地址。所述数据处理系统进一步包括Oracle数据库和Redis数据库。其中,Oracle数据库为分布式数据库,其内存储有多种功能性函数。所述Redis为开源内存存储数据库,其支持多种数据类型的存储。
S11,在侦测到第一监测指令时,实时监测所述服务器的状态并及时更新所述服务器列表。
请一并参阅图2,本发明的至少一个实施例中,所述实时监测所述服务器的状态并及时更新所述服务器列表的步骤进一步可包括:
S111,接收每个服务器发出的心跳信号;
S112,判断所述心跳信号是否中断;
S113,在检测到所述心跳信号中断时,累计中断时间;
S114,判断所述累计中断时间是否大于预定时间;
S115,在所述累计中断时间大于所述预定时间时,将所述服务器从所述服务器列表中删除。
在所述心跳信号未中断时,返回步骤S111。
在所述累计中断时间小于等于所述预定时间时,返回步骤S111。
本发明的至少一个实施例中,所述心跳信号为预定频率的脉冲信号。每个所述服务器可发出不同预定频率的所述心跳信号,以区别不同的所述服务器。
S12,在侦测到第一计算指令时,根据所述服务器列表计算每个服务器对应的位置参数。
本发明的至少一个实施例中,所述位置参数用于标识所述服务器在所述服务器列表中的位置。
请一并参阅图3,本发明的至少一个实施例中,所述根据所述服务器列表计算每个服务器在所述服务器列表中的位置参数的步骤可进一步包括:
S121,获取每个服务器的IP地址;
S122,根据所述IP地址计算对应的所述服务器在所述服务器列表中的所述位置参数;
S123,将所述位置参数存储于所述Redis数据库。
本发明的至少一个实施例中,所述服务器的IP地址以列表的形式存储于所述Redis数据库。所述位置参数为所述服务器在所述服务器列表中的位置标识。
S13,在侦测到第二计算指令时,计算所述服务器列表的总长度作为长度参数。
本发明的至少一个实施例中,所述长度参数可以为所述服务器的总数。
S14,在侦测到分片指令时,对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值。
本发明的至少一个实施例中,所述待处理数据列表中每行数据具有唯一对应的主键,所述主键作为标识该行数据的标识值。
请一并参阅图4,本发明的至少一个实施例中,所述对所述待处理数据列表进行分片处理得到分片数据并计算所述分片数据对应的HASH值的步骤可进一步包括:
S141,对所述待处理数据进行分片得到分片数据并计算所述分片数据的主键值;
S142,根据所述长度参数和所述主键值采用预定函数计算每个所述分片数据的HASH值;
S143,将所述HASH值存储于所述Redis数据库。
本发明的至少一个实施例中,所述预定函数为ora_hash(id,ipCount-1)。其中,所述id为所述待处理数据列表中任意一行数据对应的主键值,所述ipCount为所述长度参数。所述HASH值为小于所述长度参数的自然数。本发明的至少一个实施例中,所述HASH值以堆栈的方式存储。举例来讲,在所述长度参数为11时,根据所述预定函数计算出的HASH值为0-10内的任意一个自然数。
S15,在侦测到匹配指令时,建立每个所述HASH值与每个所述位置参数之间的映射。
请一并参阅图5,本发明的至少一个实施例中,所述建立每个所述HASH值与每个所述位置参数之间的映射的步骤可以进一步包括:
S151,从所述Redis数据库中获取一个所述HASH值作为查询HASH值;
S152,从所述Redis数据库中获取一个所述位置参数作为查询位置参数;
S153,判断所述查询HASH值与所述查询位置参数是否一致;
S154,在所述查询HASH值与所述查询位置参数一致时,建立所述查询HASH值与所述查询位置参数的映射,以将所述查询HASH值对应的一行数据匹配至所述查询位置参数对应的所述服务器;
在所述查询HASH值与所述查询位置参数不一致时,则识别所述查询HASH值与所述查询位置参数不匹配,返回步骤S152;
S155,判断所述HASH值是否为最后一个所述HASH值;
S156,在所述HASH值是最后一个所述HASH值时,则识别完成所有所述HASH值与所述位置参数的匹配;
在所述HASH值不是最后一个所述HASH值时,返回步骤S151。
S16,在侦测到处理指令时,根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
S17,在侦测到第二监测指令时,监测每个所述服务器性能并动态调整所述服务器列表。
请一并参阅图6,在本发明的至少一个实施例中,所述监测每个所述服务器性能并动态调整所述服务器列表的步骤可进一步包括:
S171,每隔指定时间计算每个服务器匹配的数据总量;
S172,判断所述数据总量是否大于指定阈值;
S173,在所述数据总量大于等于所述指定阈值时,将所述服务器从所述服务器列表中剔除。
在所述数据总量小于所述指定阈值时,返回步骤S171。
在本发明的至少一个实施例中,上述所有指令可以是通过电子设备接收的数据请求指令。所述电子设备可以包括键盘、触摸屏等,但是本公开的示例实施例中的用户输入方式不限于此。可以为用户在可视化界面上通过特定的操作产生。具体地,所述用户的操作包括,但不限于:滑动操作、点击操作(如:单击操作、双击操作等等)。具体地,所述预设按键可以是所述电子设备上的实体按键,也可以是所述电子设备上的虚拟按键等等(例如:所述虚拟按键可以是所述电子设备的显示器上的一个虚拟图标等),本发明在此不做限制。
上述数据处理方法,对数据进行分片处理,确保数据与服务器之间的唯一对应关系,有利于提高数据处理速度,同时根据心跳监测监控所有服务器,以在服务器出现问题时从服务器列表中剔除,对数据进行重新分配,保证了数据不会遗漏处理。
请参照图7,本发明提供一种数据处理装置1,应用于至少一电子设备及多个服务器构成的数据处理系统中。所述电子设备和所述服务器之间根据预设协议进行数据传输。优选地,所述预设协议包括,但不限于以下任意一种:HTTP协议(Hyper Text TransferProtocol,超文本传输协议)、HTTPS协议(Hyper Text Transfer Protocol over SecureSocket Layer,以安全为目标的HTTP协议)等。所述电子设备可以是任意具有网络连接功能的终端,例如,所述电子设备可以为个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet ProtocolTelevision,IPTV)、智能式穿戴式设备、导航装置等等的可移动设备,或者台式电脑、数字TV等等固定设备。
在本发明的一个实施例中,所述数据处理装置1包括:
获取模块10,用于在侦测到获取指令时获取服务器列表以及待处理数据。
本发明的至少一个实施例中,所述服务器列表包括以列表形式进行存储的服务器名称以及对应的IP地址。所述数据处理系统进一步包括Oracle数据库和Redis数据库。其中,Oracle数据库为分布式数据库,其内存储有多种功能性函数。所述Redis为开源内存存储数据库,其支持多种数据类型的存储。
第一监测模块20,用于在侦测到第一监测指令时实时监测所述服务器的状态并及时更新所述服务器列表。
所述第一监测模块20进一步地接收每个服务器发出的心跳信号,并判断所述心跳信号是否中断。在检测到所述心跳信号中断时,所述第一监测模块20进一步地累计中断时间并判断所述累计中断时间是否大于预定时间。在所述累计中断时间大于所述预定时间时,所述第一监测模块20进一步地将所述服务器从所述服务器列表中删除。
在所述心跳信号未中断或在所述累计中断时间小于等于所述预定时间时时,所述第一监测模块20不执行任何操作。
本发明的至少一个实施例中,所述心跳信号为预定频率的脉冲信号。每个所述服务器可发出不同预定频率的所述心跳信号,以区别不同的所述服务器。
第一计算模块30,用于在侦测到第一计算指令时根据所述服务器列表计算每个服务器对应的位置参数。
本发明的至少一个实施例中,所述位置参数用于标识所述服务器在所述服务器列表中的位置。
所述第一计算模块30进一步地获取每个服务器的IP地址,根据所述IP地址计算对应的所述服务器在所述服务器列表中的所述位置参数,并将所述位置参数存储于所述Redis数据库。
本发明的至少一个实施例中,所述服务器的IP地址以列表的形式存储于所述Redis数据库。所述位置参数为所述服务器在所述服务器列表中的位置标识。
第二计算模块40,用于在侦测到第二计算指令时计算所述服务器列表的总长度作为长度参数。
本发明的至少一个实施例中,所述长度参数可以为所述服务器的总数。
分片模块50,用于在侦测到分片指令时对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值。
本发明的至少一个实施例中,所述待处理数据列表中每行数据具有唯一对应的主键,所述主键作为标识该行数据的标识值。
所述分片模块50进一步包括对所述待处理数据进行分片得到分片数据并计算所述分片数据的主键值,根据所述长度参数和所述主键值采用预定函数计算每个所述分片数据的HASH值,并将所述HASH值存储于所述Redis数据库。
本发明的至少一个实施例中,所述预定函数为ora_hash(id,ipCount-1)。其中,所述id为所述待处理数据列表中任意一行数据对应的主键值,所述ipCount为所述长度参数。所述HASH值为小于所述长度参数的自然数。本发明的至少一个实施例中,所述HASH值以堆栈的方式存储。举例来讲,在所述长度参数为11时,根据所述预定函数计算出的HASH值为0-10内的任意一个自然数。
匹配模块60,用于在侦测到匹配指令时建立每个所述HASH值与每个所述位置参数之间的映射。
所述匹配模块60进一步地从所述Redis数据库中获取一个所述HASH值作为查询HASH值,从所述Redis数据库中获取一个所述位置参数作为查询位置参数,并判断所述查询HASH值与所述查询位置参数是否一致。在所述查询HASH值与所述查询位置参数一致时,所述匹配模块60进一步地建立所述查询HASH值与所述查询位置参数的映射,以将所述查询HASH值对应的一行数据匹配至所述查询位置参数对应的所述服务器。在所述查询HASH值与所述查询位置参数不一致时,则识别所述查询HASH值与所述查询位置参数不匹配,所述匹配模块60进一步地从所述Redis数据库中获取一个所述位置参数作为查询位置参数。所述匹配模块60进一步地判断所述HASH值是否为最后一个所述HASH值。在所述HASH值是最后一个所述HASH值时,则识别完成所有所述HASH值与所述位置参数的匹配。在所述HASH值不是最后一个所述HASH值时,所述匹配模块60进一步地从所述Redis数据库中获取一个所述HASH值作为查询HASH值。
处理模块70,用于在侦测到处理指令时根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
第二监测模块80,用于在侦测到第二监测指令时监测每个所述服务器性能并动态调整所述服务器列表。
所述第二监测模块80进一步地每隔指定时间计算每个服务器匹配的数据总量,并判断所述数据总量是否大于指定阈值。在所述数据总量小于所述指定阈值时,所述第二监测模块80进一步地每隔所述指定时间计算每个服务器匹配的数据总量。在所述数据总量大于等于所述指定阈值时,所述第二监测模块80进一步地将所述服务器从所述服务器列表中剔除。
请参阅图8,其为本发明实施例的电子设备的示意图。所述电子设备包括处理器106、存储器102及通信总线104。
所述存储器102用于存储程序代码。所述存储器102可以是集成电路中没有实物形式的具有存储功能的电路,如内存条、TF卡(Trans-flash Card)、智能媒体卡(smart mediacard)、安全数字卡(secure digital card)、快闪存储器卡(flash card)等储存设备。所述存储器102可通过通信总线104与处理器106进行数据通信。所述存储器102中可以包括操作系统、网络通信模块以及数据处理程序。操作系统是管理和控制电子设备硬件和软件资源的程序,支持数据处理程序以及其它软件和/或程序的运行。网络通信模块用于实现所述存储器102内部各组件之间的通信,以及与数据处理设备中其它硬件和软件之间通信。
所述处理器106可以包括一个或者多个微处理器、数字处理器。所述处理器106可调用所述存储器102中存储的程序代码以执行相关的功能。例如,图7中所述的各个模块是存储在所述存储器102中的程序代码,并由所述处理器106所执行,以实现一种数据处理方法。所述处理器106又称中央处理器(CPU,Central Processing Unit),是一块超大规模的集成电路,是运算核心(Core)和控制核心(Control Unit)。
所述处理器106用于执行所述存储器102中存储的多个计算机指令以实现数据处理方法,所述处理器106可执行多个指令从而实现以下步骤:
S10,在侦测到获取指令时,获取服务器列表以及待处理数据。
本发明的至少一个实施例中,所述服务器列表包括以列表形式进行存储的服务器名称以及对应的IP地址。所述数据处理系统进一步包括Oracle数据库和Redis数据库。其中,Oracle数据库为分布式数据库,其内存储有多种功能性函数。所述Redis为开源内存存储数据库,其支持多种数据类型的存储。
S11,在侦测到第一监测指令时,实时监测所述服务器的状态并及时更新所述服务器列表。
本发明的至少一个实施例中,所述实时监测所述服务器的状态并及时更新所述服务器列表的步骤进一步可包括:
S111,接收每个服务器发出的心跳信号;
S112,判断所述心跳信号是否中断;
S113,在检测到所述心跳信号中断时,累计中断时间;
S114,判断所述累计中断时间是否大于预定时间;
S115,在所述累计中断时间大于所述预定时间时,将所述服务器从所述服务器列表中删除。
在所述心跳信号未中断时,返回步骤S111。
在所述累计中断时间小于等于所述预定时间时,返回步骤S111。
本发明的至少一个实施例中,所述心跳信号为预定频率的脉冲信号。每个所述服务器可发出不同预定频率的所述心跳信号,以区别不同的所述服务器。
S12,在侦测到第一计算指令时,根据所述服务器列表计算每个服务器对应的位置参数。
本发明的至少一个实施例中,所述位置参数用于标识所述服务器在所述服务器列表中的位置。
本发明的至少一个实施例中,所述根据所述服务器列表计算每个服务器在所述服务器列表中的位置参数的步骤可进一步包括:
S121,获取每个服务器的IP地址;
S122,根据所述IP地址计算对应的所述服务器在所述服务器列表中的所述位置参数;
S123,将所述位置参数存储于所述Redis数据库。
本发明的至少一个实施例中,所述服务器的IP地址以列表的形式存储于所述Redis数据库。所述位置参数为所述服务器在所述服务器列表中的位置标识。
S13,在侦测到第二计算指令时,计算所述服务器列表的总长度作为长度参数。
本发明的至少一个实施例中,所述长度参数可以为所述服务器的总数。
S14,在侦测到分片指令时,对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值。
本发明的至少一个实施例中,所述待处理数据列表中每行数据具有唯一对应的主键,所述主键作为标识该行数据的标识值。
本发明的至少一个实施例中,所述对所述待处理数据列表进行分片处理得到分片数据并计算所述分片数据对应的HASH值的步骤可进一步包括:
S141,对所述待处理数据进行分片得到分片数据并计算所述分片数据的主键值;
S142,根据所述长度参数和所述主键值采用预定函数计算每个所述分片数据的HASH值;
S143,将所述HASH值存储于所述Redis数据库。
本发明的至少一个实施例中,所述预定函数为ora_hash(id,ipCount-1)。其中,所述id为所述待处理数据列表中任意一行数据对应的主键值,所述ipCount为所述长度参数。所述HASH值为小于所述长度参数的自然数。本发明的至少一个实施例中,所述HASH值以堆栈的方式存储。举例来讲,在所述长度参数为11时,根据所述预定函数计算出的HASH值为0-10内的任意一个自然数。
S15,在侦测到匹配指令时,建立每个所述HASH值与每个所述位置参数之间的映射。
本发明的至少一个实施例中,所述建立每个所述HASH值与每个所述位置参数之间的映射的步骤可以进一步包括:
S151,从所述Redis数据库中获取一个所述HASH值作为查询HASH值;
S152,从所述Redis数据库中获取一个所述位置参数作为查询位置参数;
S153,判断所述查询HASH值与所述查询位置参数是否一致;
S154,在所述查询HASH值与所述查询位置参数一致时,建立所述查询HASH值与所述查询位置参数的映射,以将所述查询HASH值对应的一行数据匹配至所述查询位置参数对应的所述服务器;
在所述查询HASH值与所述查询位置参数不一致时,则识别所述查询HASH值与所述查询位置参数不匹配,返回步骤S152;
S155,判断所述查询HASH值是否为最后一个所述HASH值;
S156,在所述HASH值是最后一个所述HASH值时,则识别完成所有所述HASH值与所述位置参数的匹配;
在所述HASH值不是最后一个所述HASH值时,返回步骤S151。
S16,在侦测到处理指令时,根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
S17,在侦测到第二监测指令时,监测每个所述服务器性能并动态调整所述服务器列表。
在本发明的至少一个实施例中,所述监测每个所述服务器性能并动态调整所述服务器列表的步骤可进一步包括:
S171,每隔指定时间计算每个服务器匹配的数据总量;
S172,判断所述数据总量是否大于指定阈值;
S173,在所述数据总量大于等于所述指定阈值时,将所述服务器从所述服务器列表中剔除。
在所述数据总量小于所述指定阈值时,返回步骤S171。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明还提供一种存储介质。所述存储介质为计算机可读存储介质。所述计算机可读存储介质上存储有计算机指令。所述计算机指令可被存储于存储器102上,且当被一个或多个处理器106执行时,从而实现如上文方法实施例所述的数据处理方法,例如图1所示的S10-S17,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明的各个实施例中的各功能模块可以集成在一个处理器中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种数据处理方法,其特征在于,所述数据处理方法包括:
在侦测到获取指令时,获取服务器列表以及待处理数据,所述服务器列表包括多个服务器;
在侦测到第一监测指令时,实时监测所述服务器的状态并及时更新所述服务器列表;
在侦测到第一计算指令时,根据所述服务器列表计算每个服务器对应的位置参数;
在侦测到第二计算指令时,计算所述服务器列表的总长度作为长度参数;
在侦测到分片指定时,对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值;
在侦测到匹配指令时,建立每个所述HASH值与每个所述位置参数之间的映射;
在侦测到处理指令时,根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
2.如权利要求1所述的数据处理方法,其特征在于,所述实时监测所述服务器的状态并及时更新所述服务器列表的步骤包括:
接收每个服务器发出的心跳信号;
判断所述心跳信号是否中断;
在检测到所述心跳信号中断时,累计中断时间;
判断所述累计中断时间是否大于预定时间;
在所述累计中断时间大于所述预定时间时,将所述服务器从所述服务器列表中删除;
在所述心跳信号未中断时,返回所述接收每个服务器发出的心跳信号的步骤。
3.如权利要求1所述的数据处理方法,其特征在于,所述对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值的步骤包括:
获取每个服务器的IP地址;
根据所述IP地址计算对应的所述服务器在所述服务器列表中的所述位置参数;
将所述位置参数存储于Redis数据库。
4.如权利要求1所述的数据处理方法,其特征在于,所述建立每个所述HASH值与每个所述位置参数之间的映射的步骤包括:
对所述待处理数据进行分片得到分片数据并计算所述分片数据的主键值;
根据所述长度参数和所述主键值采用预定函数计算每个所述分片数据的HASH值;
将所述HASH值存储于Redis数据库。
5.如权利要求1所述的数据处理方法,其特征在于,所述建立每个所述HASH值与每个所述位置参数之间的映射的步骤包括:
从所述Redis数据库中获取一个所述HASH值作为查询HASH值;
从所述Redis数据库中获取一个所述位置参数作为查询位置参数;
判断所述查询HASH值与所述查询位置参数是否一致;
在所述查询HASH值与所述查询位置参数一致时,建立所述查询HASH值与所述查询位置参数的映射,以将所述查询HASH值对应的一行数据匹配至所述查询位置参数对应的所述服务器;
在所述查询HASH值与所述查询位置参数不一致时,则识别所述查询HASH值与所述查询位置参数不匹配,返回所述从所述Redis数据库中获取一个所述位置参数作为查询位置参数的步骤;
判断所述HASH值是否为最后一个所述HASH值;
在所述HASH值是最后一个所述HASH值时,则识别完成所有所述HASH值与所述位置参数的匹配;
在所述HASH值不是最后一个所述HASH值时,返回步骤从所述Redis数据库中获取一个所述HASH值作为查询HASH值。
6.如权利要求1至5中任意一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在侦测到第二监测指令时,监测每个所述服务器性能并动态调整所述服务器列表。
7.如权利要求6所述的数据处理方法,其特征在于,所述监测每个所述服务器性能并动态调整所述服务器列表的步骤包括:
每隔指定时间计算每个服务器匹配的数据总量;
判断所述数据总量是否大于指定阈值;
在所述数据总量小于所述指定阈值时,返回所述每隔所述指定时间计算每个服务器匹配的数据总量的步骤;
在所述数据总量大于等于所述指定阈值时,将所述服务器从所述服务器列表中剔除。
8.一种数据处理装置,其特征在于,所述数据处理装置包括:
获取模块,用于在侦测到获取指令时获取服务器列表以及待处理数据;所述服务器列表包括多个服务器;
第一监测模块,用于在侦测到第一监测指令时实时监测所述服务器的状态并及时更新所述服务器列表;
第一计算模块,用于在侦测到第一计算指令时根据所述服务器列表计算每个服务器对应的位置参数;
第二计算模块,用于在侦测到第二计算指令时计算所述服务器列表的总长度作为长度参数;
分片模块,用于在侦测到分片指令时对所述待处理数据进行分片得到分片数据并计算所述分片数据对应的HASH值;
匹配模块,用于在侦测到匹配指令时建立每个所述HASH值与每个所述位置参数之间的映射;
处理模块,用于在侦测到处理指令时根据所述HASH值与所述位置参数之间的映射,每个所述服务器并行处理对应的数据。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的数据处理方法。
10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至7中任意一项所述数据处理方法。
CN201911335661.9A 2019-12-23 2019-12-23 数据处理方法、装置、电子设备及存储介质 Pending CN111176842A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911335661.9A CN111176842A (zh) 2019-12-23 2019-12-23 数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911335661.9A CN111176842A (zh) 2019-12-23 2019-12-23 数据处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111176842A true CN111176842A (zh) 2020-05-19

Family

ID=70648831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911335661.9A Pending CN111176842A (zh) 2019-12-23 2019-12-23 数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111176842A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731660A (zh) * 2014-12-31 2015-06-24 北京天诚盛业科技有限公司 数据分配方法、装置和系统
CN107004033A (zh) * 2015-01-21 2017-08-01 华为技术有限公司 大规模并行处理器数据库系统和方法
CN107508901A (zh) * 2017-09-04 2017-12-22 北京京东尚科信息技术有限公司 分布式数据处理方法、装置、服务器和系统
CN108920272A (zh) * 2018-06-08 2018-11-30 中国平安人寿保险股份有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN109086133A (zh) * 2018-07-06 2018-12-25 第四范式(北京)技术有限公司 管理内存数据及在内存中维护数据的方法和系统
CN110149373A (zh) * 2019-04-28 2019-08-20 平安科技(深圳)有限公司 基于点对点网络的数据存储方法、装置、介质及服务器
CN110472106A (zh) * 2019-08-08 2019-11-19 浙江每日互动网络科技股份有限公司 一种目标对象的识别方法和数据管理平台
CN110516121A (zh) * 2019-08-28 2019-11-29 中国银行股份有限公司 数据读取方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731660A (zh) * 2014-12-31 2015-06-24 北京天诚盛业科技有限公司 数据分配方法、装置和系统
CN107004033A (zh) * 2015-01-21 2017-08-01 华为技术有限公司 大规模并行处理器数据库系统和方法
CN107508901A (zh) * 2017-09-04 2017-12-22 北京京东尚科信息技术有限公司 分布式数据处理方法、装置、服务器和系统
CN108920272A (zh) * 2018-06-08 2018-11-30 中国平安人寿保险股份有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN109086133A (zh) * 2018-07-06 2018-12-25 第四范式(北京)技术有限公司 管理内存数据及在内存中维护数据的方法和系统
CN110149373A (zh) * 2019-04-28 2019-08-20 平安科技(深圳)有限公司 基于点对点网络的数据存储方法、装置、介质及服务器
CN110472106A (zh) * 2019-08-08 2019-11-19 浙江每日互动网络科技股份有限公司 一种目标对象的识别方法和数据管理平台
CN110516121A (zh) * 2019-08-28 2019-11-29 中国银行股份有限公司 数据读取方法及装置

Similar Documents

Publication Publication Date Title
US11870802B1 (en) Identifying automated responses to security threats based on communication interactions content
CN109586969B (zh) 内容分发网络容灾方法、装置、计算机设备及存储介质
CN111343048B (zh) 压力测试方法及装置、计算机装置及存储介质
CN108900514B (zh) 基于同源分析的攻击信息追踪溯源方法及装置
CN111193749A (zh) 一种攻击溯源方法、装置、电子设备和存储介质
CN109981415B (zh) 状态判定方法、电子设备、系统及介质
US20180081751A1 (en) Server performance correction using remote server actions
CN107908662B (zh) 搜索系统的实现方法和实现装置
CN111586126A (zh) 小程序预下载方法、装置、设备及存储介质
US20190173844A1 (en) Firewall device
US10187264B1 (en) Gateway path variable detection for metric collection
CN112668005A (zh) webshell文件的检测方法及装置
CN108664492B (zh) 一种向用户推送内容的方法、装置、电子设备和存储介质
US9507655B2 (en) Tracking asynchronous entry points for an application
CN113746790B (zh) 一种异常流量管理方法、电子设备及存储介质
CN112118352B (zh) 通知触发消息的处理方法、装置、电子设备以及计算机可读介质
CN114036360A (zh) 网络爬虫拦截方法、装置、电子设备及可读存储介质
CN113672782A (zh) 一种基于数据查询的物联网设备重要性匹配方法
CN105227528B (zh) 对Web服务器群的攻击的检测方法和装置
CN113157480A (zh) 错误信息处理方法、装置、存储介质以及终端
CN111176842A (zh) 数据处理方法、装置、电子设备及存储介质
JP7058464B2 (ja) 不正対策システム、および不正対策方法
US10949232B2 (en) Managing virtualized computing resources in a cloud computing environment
CN115470399A (zh) 一种基于大数据的id打通方法、装置、设备和存储介质
CN111431764B (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