CN111597054A - 一种信息处理方法、系统、电子设备及存储介质 - Google Patents

一种信息处理方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN111597054A
CN111597054A CN202010720545.5A CN202010720545A CN111597054A CN 111597054 A CN111597054 A CN 111597054A CN 202010720545 A CN202010720545 A CN 202010720545A CN 111597054 A CN111597054 A CN 111597054A
Authority
CN
China
Prior art keywords
information
value
process group
keyword
boundary value
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
Application number
CN202010720545.5A
Other languages
English (en)
Other versions
CN111597054B (zh
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.)
Beijing Carpura Technology Co ltd
Original Assignee
Beijing Carpura Technology Co 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 Beijing Carpura Technology Co ltd filed Critical Beijing Carpura Technology Co ltd
Priority to CN202010720545.5A priority Critical patent/CN111597054B/zh
Publication of CN111597054A publication Critical patent/CN111597054A/zh
Application granted granted Critical
Publication of CN111597054B publication Critical patent/CN111597054B/zh
Priority to PCT/CN2021/104640 priority patent/WO2022017167A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种信息处理方法、系统、电子设备及存储介质,该方法包括:获取当前进程组的待处理信息;若存在关键字序列为非有序关键字序列的进程,则将该进程的关键字序列处理为有序关键字序列;当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡;计算当前进程组的公共分界值;根据公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理;将关键字归并排序处理的结果分散存储在当前进程组的各个进程中,使各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字。本发明能够在多个计算节点间完成海量信息顺序调整的信息处理,从而提高处理效率。

Description

一种信息处理方法、系统、电子设备及存储介质
技术领域
本发明涉及信息处理技术领域,具体涉及一种信息处理方法、系统、电子设备及存储介质。
背景技术
在数据库和互联网等技术领域,通常需要从一组信息中找出所需的信息。为了能快速查找出所需的信息,一种有效的办法就是建立信息的包含关键字(可以是任意位数的整数或浮点数,也可以是任意长度的字符串等)的数据结构,并将一组信息根据关键字的某种顺序组织起来。排序就是一种能有效组织信息的方法,它能将一组信息调整为关键字有序的一组信息;而后,可基于关键字快速查找到所需信息。
在过去,由于数据库和互联网等领域要处理的信息较少,通常只需用一个处理器核就能完成一组信息从关键字无序到有序的调整。随着信息量的增加,需要利用在同一计算节点内多个处理器核的并行计算来加速调整。当前,要处理的信息量已达到了海量,如T级甚至P级,一个计算节点无论是计算能力还是存储能力都无法满足需求,需要高效利用多个计算节点间的并行计算,才能及时完成调整。
要在多个计算节点间完成海量信息从关键字无序到有序的调整,复杂度比较高,也效率低下,因此,亟需一种能够在多个计算节点间完成海量信息顺序调整的信息处理方案,以提高处理效率。
发明内容
针对上述技术问题,本发明提供一种信息处理方法、系统、电子设备及存储介质,能够在多个计算节点间完成海量信息顺序调整的信息处理,从而提高处理效率。
第一方面,本发明提供一种信息处理方法,包括:
获取当前进程组的待处理信息,其中,所述当前进程组包括至少两个不同进程,所述待处理信息的每个信息包含一个用于标记或搜索查询该信息的关键字,所述待处理信息的所有关键字已分散存储在当前进程组的各个进程中,在各个进程组形成关键字序列;
若存在关键字序列为非有序关键字序列的进程,则将该进程的关键字序列处理为有序关键字序列;
当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡;
计算当前进程组的公共分界值;
根据所述公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理;
将所述关键字归并排序处理的结果分散存储在当前进程组的各个进程中,各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字。
更进一步地,所述方法还包括:
根据所述公共分界值,得到第一子进程组和第二子进程组,其中,第一子进程组中的所有关键字小于所述公共分界值,第二子进程组中的所有关键字大于所述公共分界值。
更进一步地,所述方法还包括:
当所述第一子进程组或第二子进程组包括至少两个进程时,执行所述获取当前进程组的待处理信息,以对该子进程组进行信息处理。
更进一步地,所述当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡,包括:
获取当前进程组所有进程的负载信息,并汇集于当前进程组的主进程;
在所述主进程中对当前进程组的所有进程的负载进行排序处理,得到当前进程组的负载有序数组,并将所述负载有序数组发送给当前进程组的所有进程;
根据所述当前进程组的负载信息,判断是否需要进行负载调整处理;
当需要进行负载调整处理时,根据所述负载有序数组将当前进程组的所有进程划分成若干进程对,在各进程对的两个进程之间进行负载调整处理,其中,负载第i大的进程与负载第N-i大的进程组成一个进程对,i<N,N为当前进程组的进程数量。
更进一步地,所述在各进程对的两个进程之间进行负载调整处理,包括:
在各进程对中,负载大的进程将部分关键字转移到负载小的进程中,负载小的进程基于归并排序将来自于负载大的进程的部分关键字合并进来,以使进程对中两个进程的负载均衡。
更进一步地,所述负载信息包括:各进程的负载、所有进程的最大负载和所有进程的平均负载。
更进一步地,所述根据所述当前进程组的负载信息,判断是否需要进行负载调整处理,包括:
根据所述当前进程组的负载信息,计算负载不平衡率;
当所述负载不平衡率大于预设阈值时,则需要进行负载调整处理。
更进一步地,所述计算当前进程组的公共分界值,包括:
获取当前进程组的每个进程的有序关键字序列的信息,并汇集于当前进程组的主进程,所述有序关键字序列的信息包括:有序关键字序列中关键字的数量、特定位置的关键字;
根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值。
更进一步地,所述特定位置的关键字为将有序关键字序列分为K段时的K-1个位置上的关键字,有序关键字序列中第m位置上的关键字被称为m/K分位关键字,m≥1,且m≤K;所述根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,包括:
计算每个进程的有序关键字序列的各m/K分位关键字的权重,所述m/K分位关键字权重为:所述m/K分位关键字的值与所述有序关键字序列的关键字数量之积;
计算各m/K分位关键字对应的m/K候选公共分界值,所述m/K候选公共分界值为:当前进程组的所有进程的有序关键字序列的m/K分位关键字的权重总和除以当前进程组的所有进程的有序关键字序列的关键字总量。
更进一步地,所述根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,还包括:
主进程将K-1个的m/K候选公共分界值发送给所有进程。
更进一步地,所述根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,还包括:
统计出当前进程组的所有进程中的各m/K候选公共分界值的第一数量值和第二数量值,其中,所述第一数量值是小于m/K候选公共分界值的关键字数量,所述第二数量值是大于等于m/K候选公共分界值的关键字数量;
若存在所述第一数量值和所述第二数量值之间比值不超过预设值的m/K候选公共分界值,则将该m/K候选公共分界值确定为所述当前进程组的公共分界值;
当任意m/K候选公共分界值的所述第一数量值和所述第二数量值之间比值均超过预设值时,将K-1个的m/K候选公共分界值保存为已有的候选公共分界值。
更进一步地,所述根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,还包括:
对已有的候选公共分界值进行优化,从已有的候选公共分界值中选择出相邻的第一参考候选公共分界值和第二参考候选公共分界值,其中第一参考候选公共分界值的第一数量值小于第二数量值,第二参考候选公共分界值的第一数量值大于第二数量值,计算出介于第一参考候选公共分界值和第二参考候选公共分界值之间的值,作为优化后的候选公共分界值,统计出优化后的候选公共分界值的第一数量值和所述第二数量值;
当优化后的候选公共分界值的所述第一数量值和所述第二数量值之间比值不超过预设值时,将优化后的候选公共分界值确定为所述当前进程组的公共分界值;
当优化后的候选公共分界值的所述第一数量值和所述第二数量值之间比值超过预设值时,将优化后的候选公共分界值加入为已有的候选公共分界值,执行所述对已有的候选公共分界值进行优化,从已有的候选公共分界值中选择出相邻的第一参考候选公共分界值和第二参考候选公共分界值的步骤。
更进一步地,所述根据所述公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理,包括:
根据所述当前进程组的公共分界值,将当前进程组的每个进程的有序关键字序列划分为小于所述公共分界值的第一有序关键字子序列、大于等于所述公共分界值的第二有序关键字子序列;
在当前进程组的两个进程之间进行有序关键字子序列的交换处理,所述交换处理包括:编号小的进程将其第二有序关键字子序列转移到编号大的进程,编号大的进程将其第一有序关键字子序列转移到编号小的进程;
当前进程组的每个进程将该进程的两个有序关键字子序列归并为一个有序关键字序列,以使各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字。
第二方面,本发明提供一种信息处理系统,包括:
信息获取模块,用于获取当前进程组的待处理信息,其中,所述当前进程组包括至少两个不同进程,所述待处理信息的每个信息包含一个用于标记或搜索查询该信息的关键字,所述待处理信息的所有关键字已分散存储在当前进程组的各个进程中,在各个进程组形成关键字序列;
第一处理模块,用于若存在关键字序列为非有序关键字序列的进程,则将该进程的关键字序列处理为有序关键字序列;
第二处理模块,用于当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡;
计算模块,用于计算当前进程组的公共分界值;
第三处理模块,用于根据所述公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理;
存储模块,用于将所述关键字归并排序处理的结果分散存储在当前进程组的各个进程中,使各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字;
控制模块,用于控制信息获取模块、第一处理模块、第二处理模块、计算模块、第三处理模块、存储模块的调用。
更进一步地,所述第三处理模块,还用于根据所述公共分界值,得到第一子进程组和第二子进程组,其中,第一子进程组中的所有关键字小于所述公共分界值,第二子进程组中的所有关键字大于分界值;
所述控制模块,还用于当所述第一子进程组或第二子进程组包括至少两个进程时,调用信息获取模块、第一处理模块、第二处理模块、计算模块、第三处理模块、存储模块,以对包括至少两个进程的第一子进程组或第二子进程组进行信息处理。
第三方面,本发明提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的信息处理方法。
第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如第一方面所述的信息处理方法。
本发明的有益效果在于,本发明提供的一种信息处理方法、系统、电子设备及存储介质,能够在多个计算节点间完成海量信息顺序调整的信息处理,从而提高处理效率。若存在关键字序列为非有序关键字序列的进程,则先对该进程内的关键字序列进行从无序到有序的处理;当进程间需要进行负载调整处理时进行负载调整处理,使各进程的负载均衡;基于计算的公共分界值,在当前进程组的两个进程间进行快速归并排序处理,结合两个进程上各自的有序关键字序列,完成一趟快速归并排序,通过本发明,各进程的负载平衡性好,且计算复杂度低,能够有效提高分布式并行处理效率,快速得到进程组的有序关键字。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍, 应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一提供的一种信息处理方法的流程图;
图2是本发明实施例一提供的一个进程组示例;
图3(a)是本发明实施例一提供的一个进程组的负载调整示例中该进程组的进程对;
图3(b)是本发明实施例一提供的一个进程组的负载调整示例中负载调整处理后的结果;
图4是本发明实施例一提供的候选公共分界值计算示例;
图5是本发明实施例二提供的信息处理系统框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
给定N’个关键字,关键字无序到有序的调整的最低复杂度为O(N’*log(N’))。在多个计算节点间完成海量信息从关键字无序到有序的调整时,能达到该最低复杂度的排序方法包括快速排序和归并排序等。
其中,快速排序的基本思路是:通过一趟排序将一组数据(或关键字)分割成独立的两部分,其中一部分的所有数据(或关键字)都小于分界值,另一部分的所有数据(或关键字)都大于等于分界值,然后再按此方法对这两部分数据(或关键字)分别递归进行快速排序,因此,分界值的选取对快速排序的复杂度有重要影响,虽然其平均复杂度为O(N’*log(N’)),但在最坏情况下,复杂度可以达到O(N’*N’)。归并排序的基本思路是:通过一趟排序将已有序的若干数据(或关键字)子序列合并,得到完全有序的数据(或关键字)序列;即先使每个子序列有序,再使子序列段间有序。归并排序的复杂度稳定在O(N’*log(N’)),但与快速排序相比,则需要一份额外的存储空间。
因此,要在多个计算节点间完成海量信息从关键字无序到有序的调整,复杂度比较高,也效率低下,本发明提供了一种能够在多个计算节点间完成海量信息顺序调整的信息处理方案,可以提高处理效率。
实施例一
给定一个进程组,其中包括N个进程(各进程具有1到N之间的唯一编号),总数量为N’的关键字分散存放在该进程组各进程中,每个进程中都存放了部分关键字组成的关键字序列,为了得到当前进程组的有序关键字,以便能够基于有序关键字快速查找到用户所需信息,采用本实施例提供的一种信息处理方法,对分散存放在该进程组各进程中的关键字序列实现有序化处理,使每个进程内存放着有序关键字序列,且第i个进程上的任意关键字都小于第i+1个进程上的任意关键字,其中,i为1到N-1之间的任意数。图1示出了本实施例提供一种信息处理方法的流程图,需要说明的是,本发明实施例提供的信息处理方法并不以图1以及以下的具体顺序为限制,应当理解,在其它实施例中,本发明实施例提供的信息处理方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除,或者其中的部分步骤可以同时执行。下面对图1涉及到的具体流程进行阐述,如图1所示,该方法包括如下步骤:
步骤S1、获取当前进程组的待处理信息,其中,当前进程组包括至少两个不同进程,待处理信息的每个信息包含一个用于标记或搜索查询该信息的关键字,待处理信息的所有关键字已分散存储在当前进程组的各个进程中,在各个进程组形成关键字序列。可以理解的是,关键字可以是任意位数的整数或浮点数,也可以是任意长度的字符串或其他形式,此处不做任何限定。
步骤S2、若存在关键字序列为非有序关键字序列的进程,则将该进程的关键字序列处理为有序关键字序列。优选地,此步骤可以通过使用已有排序方法将非有序关键字序列处理为有序关键字序列,如快速排序、归并排序或堆排序等,具体可以通过已有线程级并行排序程序或使用了处理器向量指令的已有排序程序,完成对存放在该进程上的局部关键字序列的排序处理,形成该进程上的有序关键字序列。
步骤S3、当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡。
步骤S4、计算当前进程组的公共分界值。
步骤S5、根据公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理。
步骤S6、将关键字归并排序处理的结果分散存储在当前进程组的各个进程中,各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字。
本实施例中,若存在关键字序列为非有序关键字序列的进程,则先对该进程内的关键字序列进行从无序到有序的处理,将进程中的关键字序列处理为有序关键字序列;当进程间需要进行负载调整处理时进行负载调整处理,使各进程间的负载均衡;基于计算的公共分界值,在当前进程组的两个进程间进行快速归并排序处理,结合两个进程上各自的有序关键字序列,完成一趟快速归并排序,通过此方法,各进程的负载平衡性好,且计算复杂度低,能够有效提高分布式并行处理效率,快速得到进程组的有序关键字,完成一组进程的信息处理。
完成一组进程的信息处理后,该方法还包括:
步骤S7、根据公共分界值,得到第一子进程组和第二子进程组,其中,第一子进程组中的所有关键字小于公共分界值,第二子进程组中的所有关键字大于公共分界值。
根据公共分界值对当前进程组做进一步分组,得到两个子进程组,再继续进行下一轮信息处理,也就是,将至少包括两个进程的子进程组作为当前进程组,执行步骤S1~步骤S6的过程。因此,该方法还包括:
步骤S8、当第一子进程组或第二子进程组包括至少两个进程时,执行获取当前进程组的待处理信息,以对该子进程组进行信息处理。
进一步地,为了实现负载均衡,需要根据当前进程组所有进程的负载相关信息,分析是否需要进行负载调整处理,具体地,步骤S3可以包括如下子步骤:
步骤S301、获取当前进程组所有进程的负载信息,并汇集于当前进程组的主进程;其中,负载信息包括:各进程的负载(也就是,每个进程的关键字序列中的关键字数量)、所有进程的最大负载和所有进程的平均负载。
步骤S302、在主进程中对当前进程组的所有进程的负载进行排序处理,得到当前进程组的负载有序数组,并将负载有序数组发送给当前进程组的所有进程。
具体地,对当前进程组的所有进程的负载进行排序处理,可以是按照负载从小到大排序,也可以是按照负载从大到小排序,此处不做限定。
步骤S303、根据当前进程组的负载信息,判断是否需要进行负载调整处理。
具体地,为了准确判断进程间负载是否平衡,也就是是否需要进行负载调整处理,可以通过在主进程中计算负载不平衡率来实现,因此,步骤S303进一步包括:
首先,根据当前进程组的负载信息,计算负载不平衡率。其中,负载不平衡率的计算方法是:该进程组所有进程的最大负载除以该进程组所有进程的平均负载,负载不平衡率越大表示负载越不平衡,负载不平衡率接近1时表示负载很平衡。
然后,当负载不平衡率大于预设阈值时,则需要进行负载调整处理。
可以理解的是,当负载不平衡率不大于预设阈值时,则不需要进行负载调整处理。其中的预设阈值根据实际情况设定即可,此处不做限定。
步骤S304、当需要进行负载调整处理时,根据负载有序数组将当前进程组的所有进程划分成若干进程对,在各进程对的两个进程之间进行负载调整处理,其中,负载第i大的进程与负载第N-i大的进程组成一个进程对,i<N,N为当前进程组的进程数量。
可以理解的是,由于负载有序数组中已经将各进程的负载进行了排序处理,因此,为了提高负载调整处理效率,在进行负载调整处理时,通过负载第i大的进程与负载第N-i大的进程组成一个进程对,将所有进程划分为若干负载大致均衡的进程对,在进程对内进行负载调整,能够快速实现复杂均衡。
在实际应用中,在划分进程对时,还可以将当前进程组划分为小值子进程组和大值子进程组,其中小值子进程组中各进程的编号小于大值子进程组中各进程的编号;最后将小值、大值两个子进程组中的进程进行配对(每对中一个进程来自小值子进程组、另一个进程来自大值子进程组),小值子进程组与大值子进程组的进程数可尽量接近,也可根据计算模块4得出的小于公共分界值的数据数量和大于等于公共分界值的数据数量予以确定。例如当进程组有100个进程,小于公共分界值、大于等于公共分界值的数据数量分别是450000和550000时,小值子进程组和大值子进程组应分别有45和55个进程。如果小值子进程组的进程数小于大值子进程组的进程数,在调用第三处理模块5时,则会出现一个小值进程出现在多个进程对中的情况。
具体地,在各进程对的两个进程之间进行负载调整处理,包括:在各进程对中,负载大的进程将部分关键字转移到负载小的进程中,负载小的进程基于归并排序将来自于负载大的进程的部分关键字合并进来,以使进程对中两个进程的负载均衡,实现两个进程的负载相同或接近。
以图2所示的进程组为例,该进程组包括7个进程,即:进程1~进程7。各进程首先建立自己的负载信息,包括本地数据的数量(即该进程的负载)和该进程编号组成的二元组;然后在沿着二叉树自下而上的过程中,完成各进程负载的归并排序(以负载为排序的关键字),在达到位于顶部根节点即进程1后,进程1基于已排好序的负载信息数组,找到最大负载(即进程5有12个数据)、并求出所有进程的总负载即53个数据,从而求出所有进程的平均负载为53/7,负载不平衡率为12/(53/7)、即所有进程的最大负载除以所有进程的平均负载。当负载不平衡率超过预设阈值时,将进行负载调整处理。图3(a)~图3(b)给出了相应负载调整的例子,其中共有如图3(a)所示的 3个进程对(由于进程总数7是奇数,负载排名第4的进程7没有被配对),可以基于周期间隔选出被调整到另一个进程的数据,例如图3(a)中,进程5的77、232、973、1404,进程6的33、99、887,进程4的134、311、832。负载调整处理后的结果如图3(b)所示。
进一步地,为了完成公共分界值的计算,需要综合考虑当前进程组所有进程的有序关键字序列的相关信息,因此,步骤S4可以包括如下子步骤:
步骤S401、获取当前进程组的每个进程的有序关键字序列的信息,并汇集于当前进程组的主进程,其中,有序关键字序列的信息包括:有序关键字序列中关键字的数量、特定位置的关键字。
步骤S402、根据当前进程组的各进程的有序关键字序列的信息,主进程计算候选公共分界值。
具体地,特定位置的关键字为将有序关键字序列分为K段时的K-1个位置上的关键字,有序关键字序列中第m位置上的关键字被称为m/K分位关键字,m≥1,且m≤K;根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,包括:
步骤402-1、计算每个进程的有序关键字序列的各m/K分位关键字的权重,具体地,m/K分位关键字权重为:m/K分位关键字的值与有序关键字序列的关键字数量之积;
步骤402-2、计算各m/K分位关键字对应的m/K候选公共分界值,具体地,m/K候选公共分界值为:当前进程组的所有进程的有序关键字序列的m/K分位关键字的权重总和除以当前进程组的所有进程的有序关键字序列的关键字总量。
以特定位置的关键字为有序关键字序列的中位数为例,计算每个进程的有序关键字序列的中位数权重,中位数权重为:中位数的值与有序关键字序列的关键字数量之积;
中位数权重的计算式如下:
中位数权重=中位数的值*有序关键字序列的关键字数量。
计算的中位数对应的中位候选公共分界值为:当前进程组的所有进程的有序关键字序列的中位数权重总和除以当前进程组的所有进程的有序关键字序列的关键字总量。
中位候选公共分界值的计算式如下:
中位候选公共分界值=中位数权重总和/关键字总量。
在一些实施例中,在上述步骤S402还可以包括如下子步骤:
步骤S402-3、主进程将K-1个的m/K候选公共分界值发送给所有进程。
在实际应用中,为减少运算过程,可以在计算出m/K候选公共分界值时,直接将当前m/K候选公共分界值确定为当前进程组的公共分界值,也可以通过预先设定一个阈值,当计算出的m/K候选公共分界值达到该阈值时,将当前m/K候选公共分界值确定为当前进程组的公共分界值。可以理解的是,这两种情况仅为实际应用的举例,本实施例对此不做任何限定。
在另一些实施例中,为了得出更为准确的公共分界值,在上述步骤S402-3之后,步骤S402还可以包括如下子步骤:
步骤S402-4、统计出当前进程组的所有进程中的各m/K候选公共分界值的第一数量值和第二数量值,其中,第一数量值是小于m/K候选公共分界值的关键字数量,第二数量值是大于等于m/K候选公共分界值的关键字数量。
步骤S402-5、若存在所述第一数量值和所述第二数量值之间比值不超过预设值的m/K候选公共分界值,则将该m/K候选公共分界值确定为当前进程组的公共分界值。
步骤S402-6、当任意m/K候选公共分界值的第一数量值和第二数量值之间比值均超过预设值时,将K-1个的m/K候选公共分界值保存为已有的候选公共分界值。
为了进一步根据已有的候选公共分界值确定出公共分界值,步骤S402还可以包括如下子步骤:
步骤S402-7、对已有的候选公共分界值进行优化,从已有的候选公共分界值中选择出相邻的第一参考候选公共分界值和第二参考候选公共分界值,其中第一参考候选公共分界值的第一数量值小于第二数量值,第二参考候选公共分界值的第一数量值大于第二数量值,计算出介于第一参考候选公共分界值和第二参考候选公共分界值之间的值,作为优化后的候选公共分界值,统计出优化后的候选公共分界值的第一数量值和第二数量值。
步骤S402-8、当优化后的候选公共分界值的第一数量值和第二数量值之间比值不超过预设值时,将优化后的候选公共分界值确定为当前进程组的公共分界值;
步骤S402-9、当优化后的候选公共分界值的第一数量值和第二数量值之间比值超过预设值时,将优化后的候选公共分界值加入为已有的候选公共分界值,执行步骤S402-7。
具体地,当第一数量值和第二数量值之间差值不超过预设值时,说明当前候选公共分界值下负载较为均衡,当第一数量值和第二数量值之间差值超过预设值时,说明当前候选公共分界值下负载存在不平衡,此时,需要对已有候选公共分界值进行优化。由于每次计算出候选公共分界值都会记录下来,在优化时,可以从已有的候选公共分界值中选择相邻的第一参考候选公共分界值和第二参考候选公共分界值进行优化处理,通过这样的优化,可以获得更优的候选公共分界值,能够进一步提高负载平衡性,进而提升分布式并行处理数据的效率,避免由于负载不均衡而带来的处理效率低下,以及不同计算节点间的处理时间代价不均,造成资源利用率低。
例如,从已有的候选公共分界值中选择出相邻的第一参考候选公共分界值10000和第二参考候选公共分界值20000,已有候选公共分界值10000使得小于和大于10000的关键字数量分别是1000(第一数量值)和2000(第二数量值),而已有候选公共分界值20000使得小于和大于20000的关键字数量分别是2000(第一数量值)和1000(第二数量值),可以计算10000与20000的平均值15000(介于第一参考候选公共分界值和第二参考候选公共分界值之间的值),作为优化后的当前候选公共分界值。
以图4所示的进程组为例,特定位置的关键字为有序关键字序列的中位数,该进程组共有6个进程,形成了一棵用于通信的二叉树结构,以加快信息在该进程组的进程间的传递,通过沿着二叉树自下而上的传递与规约计算,位于二叉树顶部的根节点即进程1最终得出 (68,17653),其中68是6个进程的关键字总量、17653是6个进程的中位数权重的总和,计算出候选公共分界值259=17653/68。
在将非有序关键字序列处理为有序关键字序列,以及进程对内负载调整处理后,使得进程间负载均衡,为了得到当前进程组的有序关键字,还需要在两个进程间进行快速归并排序,具体地,步骤S5进一步包括如下子步骤:
步骤S501、根据当前进程组的公共分界值,将当前进程组的每个进程的有序关键字序列划分为小于公共分界值的第一有序关键字子序列、大于等于公共分界值的第二有序关键字子序列;
步骤S502、在当前进程组的两个进程之间进行有序关键字子序列的交换处理,交换处理包括:编号小的进程将其第二有序关键字子序列转移到编号大的进程,编号大的进程将其第一有序关键字子序列转移到编号小的进程;
步骤S503、当前进程组的每个进程将该进程的两个有序关键字子序列归并为一个有序关键字序列,以使各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字。
具体地,在当前进程组的每两个进程间进行关键字归并排序处理时,各进程首先根据公共分界值,把有序关键字序列分为小于公共分界值、大于等于公共分界值的两个有序关键字子序列。然后,两个进程完成有序关键字子序列的交换,其中编号小的进程把其大于等于公共分界值的有序关键字子序列转移到编号大的进程,而编号大的进程把其小于公共分界值的有序关键字子序列转移到编号小的进程。最后,各进程把原有保留和新接收到的两个有序关键字子序列归并为一个新的有序关键字序列。
以表1所示的两个进程为例,公共分界值为400,给出了两个进程(编号小的标记为进程1、编号大的标记为进程2)上的有序数据序列。表2为各进程根据公共分界值所确定的两个有序关键字子序列。表3为两个进程相互交换完有序关键字子序列后的情况。表4为各进程归并完两个有序关键字子序列后,得到了新的有序关键字序列。
表1
Figure 855267DEST_PATH_IMAGE001
表2
Figure 975670DEST_PATH_IMAGE002
表3
Figure 676778DEST_PATH_IMAGE003
表4
Figure 540829DEST_PATH_IMAGE004
给定总关键字数量N’和进程数N,通过本实施例提供的方法,进程间始终保持平衡,并在信息处理上整体取得最小复杂度即O(N’*log(N’)),而每个进程上的复杂度为O(N’*log(N’)/N),这个复杂度已考虑了进程间的快速归并排序与负载交换等。在进程之间会进行log(N)趟排序,每趟排序中会在进程组内进行进程间的通信,以传递用于计算和广播与公共分界值和负载平衡等相关的信息。当采用二叉树方式组织进程组内的通信时,各进程上相关通信的复杂度是O(log(N)* log(N))。
实施例二
与实施例一对应地,本实施例提供一种信息处理系统,如图5所示,该系统包括:
信息获取模块1,用于获取当前进程组的待处理信息,其中,当前进程组包括至少两个不同进程,待处理信息的每个信息包含一个用于标记或搜索查询该信息的关键字,待处理信息的所有关键字已分散存储在当前进程组的各个进程中,在各个进程组形成关键字序列;
第一处理模块2,用于若存在关键字序列为非有序关键字序列的进程,则将该进程的关键字序列处理为有序关键字序列;
第二处理模块3,用于当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡;
计算模块4,用于计算当前进程组的公共分界值;
第三处理模块5,用于根据公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理;
存储模块6,用于将关键字归并排序处理的结果分散存储在当前进程组的各个进程中,使各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字;
控制模块7,用于控制信息获取模块1、第一处理模块2、第二处理模块3、计算模块4、第三处理模块5、存储模块6的调用。
本实施例中,其中,信息获取模块1的实施过程可参见上述实施例一中的步骤S1的实施过程;第一处理模块2的实施过程可参见上述实施例一中的步骤S2的实施过程;第二处理模块3的实施过程可参见上述实施例一中的步骤S3的实施过程;计算模块4的实施过程可参见上述实施例一中的步骤S4的实施过程;第三处理模块5的实施过程可参见上述实施例一中的步骤S5的实施过程;存储模块6的实施过程可参见上述实施例一中的步骤S6的实施过程;对此,本实施例不做赘述。
本实施例提供的系统是进程级并行的分布式信息处理系统,在进行信息处理时,控制模块7首先调用第一处理模块2,使各进程内的关键字序列成为有序关键字序列;然后基于快速排序的思路,通过调用其它三个模块,来完成进程间的协同排序。在由N>1个进程组成进程组的一趟排序过程中,控制模块7调用第二处理模块3,调整该进程组的所有关键字在进程间的分布;再调用计算模块4,来确定该进程组的公共分界值;然后再调用第三处理模块5来完成各对的两个进程间基于数据交换与快速归并排序处理,完成一趟排序处理,得到当前进程组的信息处理结果,即当前进程组的有序关键字,存储模块6将关键字归并排序处理的结果分散存储在当前进程组的各个进程中,使各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字。
本实施例中,若存在关键字序列为非有序关键字序列的进程,先对该进程内的关键字序列从无序到有序的处理,以使每个进程中的关键字序列为有序关键字序列;当进程间需要进行负载调整处理时进行负载调整处理,使各进程的负载均衡;基于计算的公共分界值,在当前进程组的两个进程间进行快速归并排序处理,结合两个进程上各自的有序关键字序列,完成一趟快速归并排序,通过此系统,各进程的负载平衡性好,且计算复杂度低,能够有效提高分布式并行处理效率,快速得到进程组的有序关键字。
可以理解的是,由于在划分进程对时,可以将当前进程组划分为小值子进程组和大值子进程组,(其中小值子进程组中各进程的编号小于大值子进程组中各进程的编号),因此,在实际应用中,在完成一趟排序后,控制模块7可以分别在小值子进程组和大值子进程组中进行下一趟排序。
此外,第三处理模块5,还用于根据公共分界值,得到第一子进程组和第二子进程组,其中,第一子进程组中的所有关键字小于公共分界值,第二子进程组中的所有关键字大于分界值;控制模块7还用于当第一子进程组或第二子进程组包括至少两个进程时,调用信息获取模块、第一处理模块、第二处理模块、计算模块、第三处理模块、存储模块,以对包括至少两个进程的第一子进程组或第二子进程组进行信息处理。
值得说明的是,当一个进程内包含多个线程时,上述各模块均可使用一个进程内的多个线程进行加速计算。
实施例三
本实施例提供一种电子设备,包括存储器和处理器,该存储器上存储有计算机程序,该计算机程序被所述处理器执行时实现如实施例一的信息处理方法。
可以理解的是,该电子设备还可以包括通信组件。
其中,处理器用于执行如实施例一中的信息处理方法中的全部或部分步骤。存储器用于存储各种类型的数据,这些数据例如可以包括电子设备中方法的指令,以及与电子设备相关的数据。
该处理器可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable LogicDevice,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例一中的信息处理方法。
该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
通信组件用于电子设备与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
实施例四
本实施例提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如实施例一的信息处理方法。
如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,该计算机程序被处理器执行时可以如实施例一中的信息处理方法中的全部或部分步骤,上述信息处理方法中的全部或部分步骤的具体实施例过程可参见实施例一,本实施例在此不再重复赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然本发明所揭露的实施方式如上,但上述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (17)

1.一种信息处理方法,其特征在于,包括:
获取当前进程组的待处理信息,其中,所述当前进程组包括至少两个不同进程,所述待处理信息的每个信息包含一个用于标记或搜索查询该信息的关键字,所述待处理信息的所有关键字已分散存储在当前进程组的各个进程中,在各个进程组形成关键字序列;
若存在关键字序列为非有序关键字序列的进程,则将该进程的关键字序列处理为有序关键字序列;
当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡;
计算当前进程组的公共分界值;
根据所述公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理;
将所述关键字归并排序处理的结果分散存储在当前进程组的各个进程中,各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字。
2.根据权利要求1所述的信息处理方法,其特征在于,所述方法还包括:
根据所述公共分界值,得到第一子进程组和第二子进程组,其中,第一子进程组中的所有关键字小于所述公共分界值,第二子进程组中的所有关键字大于所述公共分界值。
3.根据权利要求2所述的信息处理方法,其特征在于,所述方法还包括:
当所述第一子进程组或第二子进程组包括至少两个进程时,执行所述获取当前进程组的待处理信息,以对该子进程组进行信息处理。
4.根据权利要求1所述的信息处理方法,其特征在于,所述当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡,包括:
获取当前进程组所有进程的负载信息,并汇集于当前进程组的主进程;
在所述主进程中对当前进程组的所有进程的负载进行排序处理,得到当前进程组的负载有序数组,并将所述负载有序数组发送给当前进程组的所有进程;
根据所述当前进程组的负载信息,判断是否需要进行负载调整处理;
当需要进行负载调整处理时,根据所述负载有序数组将当前进程组的所有进程划分成若干进程对,在各进程对的两个进程之间进行负载调整处理,其中,负载第i大的进程与负载第N-i大的进程组成一个进程对,i<N,N为当前进程组的进程数量。
5.根据权利要求4所述的信息处理方法,其特征在于,所述在各进程对的两个进程之间进行负载调整处理,包括:
在各进程对中,负载大的进程将部分关键字转移到负载小的进程中,负载小的进程基于归并排序将来自于负载大的进程的部分关键字合并进来,以使进程对中两个进程的负载均衡。
6.根据权利要求4所述的信息处理方法,其特征在于,所述负载信息包括:各进程的负载、所有进程的最大负载和所有进程的平均负载。
7.根据权利要求4所述的信息处理方法,其特征在于,所述根据所述当前进程组的负载信息,判断是否需要进行负载调整处理,包括:
根据所述当前进程组的负载信息,计算负载不平衡率;
当所述负载不平衡率大于预设阈值时,则需要进行负载调整处理。
8.根据权利要求1所述的信息处理方法,其特征在于,所述计算当前进程组的公共分界值,包括:
获取当前进程组的每个进程的有序关键字序列的信息,并汇集于当前进程组的主进程,所述有序关键字序列的信息包括:有序关键字序列中关键字的数量、特定位置的关键字;
根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值。
9.根据权利要求8所述的信息处理方法,其特征在于,所述特定位置的关键字为将有序关键字序列分为K段时的K-1个位置上的关键字,有序关键字序列中第m位置上的关键字被称为m/K分位关键字,m≥1,且m≤K;所述根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,包括:
计算每个进程的有序关键字序列的各m/K分位关键字的权重,所述m/K分位关键字权重为:所述m/K分位关键字的值与所述有序关键字序列的关键字数量之积;
计算各m/K分位关键字对应的m/K候选公共分界值,所述m/K候选公共分界值为:当前进程组的所有进程的有序关键字序列的m/K分位关键字的权重总和除以当前进程组的所有进程的有序关键字序列的关键字总量。
10.根据权利要求9所述的信息处理方法,其特征在于,所述根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,还包括:
主进程将K-1个的m/K候选公共分界值发送给所有进程。
11.根据权利要求10所述的信息处理方法,其特征在于,所述根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,还包括:
统计出当前进程组的所有进程中的各m/K候选公共分界值的第一数量值和第二数量值,其中,所述第一数量值是小于m/K候选公共分界值的关键字数量,所述第二数量值是大于等于m/K候选公共分界值的关键字数量;
若存在所述第一数量值和所述第二数量值之间比值不超过预设值的m/K候选公共分界值,则将该m/K候选公共分界值确定为所述当前进程组的公共分界值;
当任意m/K候选公共分界值的所述第一数量值和所述第二数量值之间比值均超过预设值时,将K-1个的m/K候选公共分界值保存为已有的候选公共分界值。
12.根据权利要求11所述的信息处理方法,其特征在于,所述根据当前进程组的各进程的有序关键字序列的信息,主进程计算公共分界值,还包括:
对已有的候选公共分界值进行优化,从已有的候选公共分界值中选择出相邻的第一参考候选公共分界值和第二参考候选公共分界值,其中第一参考候选公共分界值的第一数量值小于第二数量值,第二参考候选公共分界值的第一数量值大于第二数量值,计算出介于第一参考候选公共分界值和第二参考候选公共分界值之间的值,作为优化后的候选公共分界值,统计出优化后的候选公共分界值的第一数量值和所述第二数量值;
当优化后的候选公共分界值的所述第一数量值和所述第二数量值之间比值不超过预设值时,将优化后的候选公共分界值确定为所述当前进程组的公共分界值;
当优化后的候选公共分界值的所述第一数量值和所述第二数量值之间比值超过预设值时,将优化后的候选公共分界值加入为已有的候选公共分界值,执行所述对已有的候选公共分界值进行优化,从已有的候选公共分界值中选择出相邻的第一参考候选公共分界值和第二参考候选公共分界值的步骤。
13.根据权利要求1所述的信息处理方法,其特征在于,所述根据所述公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理,包括:
根据所述当前进程组的公共分界值,将当前进程组的每个进程的有序关键字序列划分为小于所述公共分界值的第一有序关键字子序列、大于等于所述公共分界值的第二有序关键字子序列;
在当前进程组的两个进程之间进行有序关键字子序列的交换处理,所述交换处理包括:编号小的进程将其第二有序关键字子序列转移到编号大的进程,编号大的进程将其第一有序关键字子序列转移到编号小的进程;
当前进程组的每个进程将该进程的两个有序关键字子序列归并为一个有序关键字序列。
14.一种信息处理系统,其特征在于,包括:
信息获取模块,用于获取当前进程组的待处理信息,其中,所述当前进程组包括至少两个不同进程,所述待处理信息的每个信息包含一个用于标记或搜索查询该信息的关键字,所述待处理信息的所有关键字已分散存储在当前进程组的各个进程中,在各个进程组形成关键字序列;
第一处理模块,用于若存在关键字序列为非有序关键字序列的进程,则将该进程的关键字序列处理为有序关键字序列;
第二处理模块,用于当需要进行负载调整处理时,对当前进程组进行进程间负载调整处理,以使各进程间的负载均衡;
计算模块,用于计算当前进程组的公共分界值;
第三处理模块,用于根据所述公共分界值,在当前进程组的每两个进程间进行关键字归并排序处理;
存储模块,用于将所述关键字归并排序处理的结果分散存储在当前进程组的各个进程中,使各进程分散存储有序关键字序列,且第i进程上的任意关键字都小于第i+1进程上的任意关键字;
控制模块,用于控制信息获取模块、第一处理模块、第二处理模块、计算模块、第三处理模块、存储模块的调用。
15.根据权利要求14所述的信息处理系统,其特征在于,所述第三处理模块,还用于根据所述公共分界值,得到第一子进程组和第二子进程组,其中,第一子进程组中的所有关键字小于所述公共分界值,第二子进程组中的所有关键字大于分界值;
所述控制模块,还用于当所述第一子进程组或第二子进程组包括至少两个进程时,调用信息获取模块、第一处理模块、第二处理模块、计算模块、第三处理模块、存储模块,以对包括至少两个进程的第一子进程组或第二子进程组进行信息处理。
16.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至13中任一项所述的信息处理方法。
17.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如权利要求1至13中任一项所述的信息处理方法。
CN202010720545.5A 2020-07-24 2020-07-24 一种信息处理方法、系统、电子设备及存储介质 Active CN111597054B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010720545.5A CN111597054B (zh) 2020-07-24 2020-07-24 一种信息处理方法、系统、电子设备及存储介质
PCT/CN2021/104640 WO2022017167A1 (zh) 2020-07-24 2021-07-06 一种信息处理方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010720545.5A CN111597054B (zh) 2020-07-24 2020-07-24 一种信息处理方法、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111597054A true CN111597054A (zh) 2020-08-28
CN111597054B CN111597054B (zh) 2020-12-04

Family

ID=72191828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010720545.5A Active CN111597054B (zh) 2020-07-24 2020-07-24 一种信息处理方法、系统、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN111597054B (zh)
WO (1) WO2022017167A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988907A (zh) * 2021-04-28 2021-06-18 北京卡普拉科技有限公司 一种信息调整方法、系统、电子设备及存储介质
CN113259482A (zh) * 2021-06-21 2021-08-13 北京卡普拉科技有限公司 多对多通信模式的优化方法、装置、存储介质及电子设备
WO2022017167A1 (zh) * 2020-07-24 2022-01-27 北京卡普拉科技有限公司 一种信息处理方法、系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238677A1 (en) * 2010-03-29 2011-09-29 Sybase, Inc. Dynamic Sort-Based Parallelism
CN103530084A (zh) * 2013-09-26 2014-01-22 北京奇虎科技有限公司 一种数据并行排序方法和系统
CN108874798A (zh) * 2017-05-09 2018-11-23 北京京东尚科信息技术有限公司 一种大数据排序方法和系统
CN111176843A (zh) * 2019-12-23 2020-05-19 中国平安财产保险股份有限公司 基于多维度的负载均衡方法、装置及相关设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102834807B (zh) * 2011-04-18 2015-09-09 华为技术有限公司 多处理器系统负载均衡的方法和装置
CN107102839A (zh) * 2017-04-13 2017-08-29 青岛蓝云信息技术有限公司 一种基于硬件排序MapReduce的数据处理方法
US10691412B2 (en) * 2018-08-31 2020-06-23 International Business Machines Corporation Parallel sort accelerator sharing first level processor cache
CN110187969A (zh) * 2019-05-30 2019-08-30 北京理工大学 一种基于gpu的分布式大数据并行计算方法
CN111597054B (zh) * 2020-07-24 2020-12-04 北京卡普拉科技有限公司 一种信息处理方法、系统、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238677A1 (en) * 2010-03-29 2011-09-29 Sybase, Inc. Dynamic Sort-Based Parallelism
US8321476B2 (en) * 2010-03-29 2012-11-27 Sybase, Inc. Method and system for determining boundary values dynamically defining key value bounds of two or more disjoint subsets of sort run-based parallel processing of data from databases
CN103530084A (zh) * 2013-09-26 2014-01-22 北京奇虎科技有限公司 一种数据并行排序方法和系统
CN108874798A (zh) * 2017-05-09 2018-11-23 北京京东尚科信息技术有限公司 一种大数据排序方法和系统
CN111176843A (zh) * 2019-12-23 2020-05-19 中国平安财产保险股份有限公司 基于多维度的负载均衡方法、装置及相关设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WENJING WANG等: "Quick Algorithm for Dominant Classes from Ordered", 《THE 7TH INTERNATIONAL CONFERENCE ON》 *
钱晓捷等: "基于多核多线程的排序算法优化和实现", 《微电子学与计算机》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022017167A1 (zh) * 2020-07-24 2022-01-27 北京卡普拉科技有限公司 一种信息处理方法、系统、电子设备及存储介质
CN112988907A (zh) * 2021-04-28 2021-06-18 北京卡普拉科技有限公司 一种信息调整方法、系统、电子设备及存储介质
CN113259482A (zh) * 2021-06-21 2021-08-13 北京卡普拉科技有限公司 多对多通信模式的优化方法、装置、存储介质及电子设备
CN113259482B (zh) * 2021-06-21 2021-12-07 北京卡普拉科技有限公司 多对多通信模式的优化方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
WO2022017167A1 (zh) 2022-01-27
CN111597054B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN111597054B (zh) 一种信息处理方法、系统、电子设备及存储介质
CN105446979B (zh) 数据挖掘方法和节点
US20080218518A1 (en) Balancing collections of vertices in a network
CN105335956B (zh) 同源图像的校验方法及装置
CN109063194A (zh) 基于空间编码的数据检索方法及装置
CN104408640A (zh) 应用软件推荐方法及装置
CN105488176A (zh) 数据处理方法和装置
CN114418226B (zh) 电力通信系统的故障分析方法及装置
CN108920601B (zh) 一种数据匹配方法及装置
JP4310500B2 (ja) 重要成分優先計算方式ならびに装置
US7647592B2 (en) Methods and systems for assigning objects to processing units
TWI740895B (zh) 應用歸屬服務集群的分配方法和裝置
US11803529B2 (en) Unbalanced binary tree construction method based on calculation of binary boundary value
CN109245948B (zh) 安全感知的虚拟网络映射方法及其装置
KR20180077728A (ko) 쿼드 트리에 기반한 스카이라인 질의 방법
WO2023093255A1 (zh) 聚类集合的确定方法和装置、存储介质及电子装置
US9235639B2 (en) Filter regular expression
CN106445960A (zh) 一种数据聚类方法和装置
CN109684602B (zh) 一种批处理方法和装置及计算机可读存储介质
CN115208818B (zh) 一种基于遗传算法的QoS选路方法
EP3216167B1 (en) Orchestrator and method for virtual network embedding using offline feedback
JP2560347B2 (ja) 分割値検索処理方法
CN110780840B (zh) 多路排序器的实现方法及系统
CN105335784B (zh) 一种基于遗传算法的选择最优dsp系统软防护的方法
CN116094952B (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