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

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

Info

Publication number
CN114724725A
CN114724725A CN202210344857.XA CN202210344857A CN114724725A CN 114724725 A CN114724725 A CN 114724725A CN 202210344857 A CN202210344857 A CN 202210344857A CN 114724725 A CN114724725 A CN 114724725A
Authority
CN
China
Prior art keywords
data
median
effective value
detected
data set
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
CN202210344857.XA
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.)
Yidu Cloud Beijing Technology Co Ltd
Original Assignee
Yidu Cloud Beijing 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 Yidu Cloud Beijing Technology Co Ltd filed Critical Yidu Cloud Beijing Technology Co Ltd
Priority to CN202210344857.XA priority Critical patent/CN114724725A/zh
Publication of CN114724725A publication Critical patent/CN114724725A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Public Health (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • Epidemiology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Databases & Information Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Pathology (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种数据处理方法及装置、电子设备、存储介质,涉及医疗大数据领域,可以应用于医疗数据研究的场景。该数据处理方法包括:响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量;响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于有效值数据集调用设定的中位数计算方法计算待测数据集的中位数;响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算待测数据集的中位数;输出中位数。本公开实施例的技术方案可以在有限的计算资源情况下计算任意数据量数据的中位数,提高了计算的精确度和效率,且能够保证在线服务并发用户的用户数量。

Description

数据处理方法及装置、电子设备、存储介质
技术领域
本公开涉及医疗大数据技术领域,具体而言,涉及一种数据处理方法、数据处理装置、电子设备以及计算机可读存储介质。
背景技术
在医疗数据的数据统计分析中,描述性统计分析,特别是数值数据的描述性统计分析发挥着重要的作用,其可以使用几个关键的数据来描述数据集整体的情况,比如最大值、平均值、中位数等,是对数据集进行分析的首要工作。
在中位数的计算中,相关技术中对于小规模数据的描述性统计分析,会将数据全部加载到内存中计算;对于大规模数据的描述性统计分析采用大数据平台进行计算,其也会将全部数据加载到分布式节点的内存中进行计算。由于需要将数据全部加载到内存中,导致能够计算的数据量受到内存资源的限制。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种数据处理方法、数据处理装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服中位数计算过程中需要将全部数据加载到内存而导致能够计算的数据量受到内存资源限制的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供了一种数据处理方法,包括:
响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量;
响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于所述有效值数据集调用设定的中位数计算方法计算所述待测数据集的中位数;
响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算所述待测数据集的中位数;所述流式中位数计算方法用于在每读取到一个有效值数据时基于所述有效值数据进行一次中位数估算,直至读取完所述待测数据集中的所有数据;
输出所述中位数。
在本公开的一些示例实施例中,基于前述方案,所述基于所述有效值数据集调用第一中位数计算方法计算所述待测数据集的中位数包括:
基于所述有效值数据集的前1/2倍所述设定阈值个最大数据计算所述待测数据集的中位数。
在本公开的一些示例实施例中,基于前述方案,所述基于所述有效值数据集的前1/2倍所述设定阈值个最大数据计算所述待测数据集的中位数包括:
采用二叉堆保存所述有效值数据集的前1/2倍所述设定阈值个最大数据;
根据所述二叉堆中的数据计算所述待测数据集的中位数。
在本公开的一些示例实施例中,基于前述方案,所述采用二叉堆保存更新后的有效值数据集的前倍所述设定阈值个最大数据包括:
响应于更新后的有效值数据量小于或等于1/2倍所述设定阈值,将所述输入数据插入所述二叉堆;
响应于更新后的有效值数据量大于1/2倍所述设定阈值且小于或等于所述设定阈值,将所述输入数据插入所述二叉堆且将所述二叉堆中的最小数据删除。
在本公开的一些示例实施例中,基于前述方案,所述调用流式中位数计算方法计算所述待测数据集的中位数包括:
基于所述输入数据,调用PSquare类方法计算所述待测数据集的中位数。
在本公开的一些示例实施例中,基于前述方案,所述数据处理方法还包括:
响应于所述输入数据为有效值数据,根据所述输入数据更新所述PSquare类方法的估计值。
在本公开的一些示例实施例中,基于前述方案,在所述响应于读取到待测数据集的一个输入数据之前,所述数据处理方法还包括:
响应于检测到配置设定阈值的配置操作,确定所述设定阈值。
根据本公开实施例的第二方面,提供了一种数据处理装置,包括:
获取模块,用于响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量;
第一计算模块,用于响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于所述有效值数据集调用设定的中位数计算方法计算所述待测数据集的中位数;
第二计算模块,用于响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算所述待测数据集的中位数;所述流式中位数计算方法用于在每读取到一个有效值数据时基于所述有效值数据进行一次中位数估算,直至读取完所述待测数据集中的所有数据;
输出模块,用于输出所述中位数。
根据本公开实施例的第三方面,提供了一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意一项所述的数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的数据处理方法。
本公开实施例提供的数据处理方法,每读取到一个输入数据,更新当前的有效值数据量;当更新后的有效值数据量小于或等于设定阈值时,获取当前的有效值数据集并基于该有效值数据集调用设定的中位数计算方法计算待测数据集的中位数;当更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算待测数据集的中位数。一方面,每读取待测数据集的一个输入数据便更新一次有效值数据量,并基于更新后的有效值数据量进行一次中位数统计,可以实现数据的增量读取和中位数的动态计算,不需要将待测数据集的所有数据都加载到内存中进行计算,中位数计算过程消耗的资源与数据量的大小无关,因此可以在有限的计算资源情况下计算任意数据量数据的中位数;另一方面,对于在线服务,由于中位数计算过程消耗的资源与数据量的大小无关,所以能够在计算资源一定的情况下保证并发用户的用户数量以及在线服务的稳定性;再者,对于有效数据量小于或等于设定阈值的小数据量数据可以基于有效值数据集中的所有数据计算中位数,对于有效值数据量大于设定阈值的大数据量数据调用流式中位数计算方法计算中位数,提高了中位数计算的精确度和效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的一些实施例的一种数据处理方法的示意图;
图2示意性示出了根据本公开的一些实施例的另一种数据处理方法的示意图;
图3示意性示出了根据本公开的一些实施例的数据处理装置的示意图;
图4示意性示出了根据本公开的一些实施例的电子设备的计算机系统的结构示意图;
图5示意性示出了根据本公开的一些实施例的计算机可读存储介质的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
此外,附图仅为示意性图解,并非一定是按比例绘制。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
数值数据的描述性统计分析,如最大值、最小值、平均值、中位数、方差等,可以用来描述数据的整体情况,在数据的统计分析中有着重要的用途。
在生物医疗技术领域,可以建立专病库,比如乳腺癌专病库、肾脏病专病库、抑郁症专病库等,为专病的诊疗与预防的科研研究提供数据基础。用户可以对所研究专病的专病库中的患者数据进行统计分析和预览,比如对患者年龄、病因、病理、临床特征、检验指标、临床诊疗、预后情况等患者数据进行统计分析,比如对患者数据中的数值数据进行中位数统计等,可以根据统计分析结果为后续的专病诊疗与预防的科研提供数据支撑,指导科研决策的方向。有时,一个科研项目追踪的患者数量比较庞大,可能达到数十万人,这便对在线服务进行描述性统计分析的能力提出了较高的要求。
相关技术中,诸如对患者数据中的患者年龄、生命体征检验指标等数值数据的最大值、最小值、平均值等描述性统计分析的各类指标的计算,可以通过相应的计算公式计算得到,例如可以通过R语言软件包、编程语言Python中的numpy(Numerical Python,文件存取)库和SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案)软件包等提供的数值数据统计分析的计算方法进行计算。在数据集数据量较小的情况下,可以将数据集加载到内存中,直接使用这些软件包完成统计分析。但是,在数据量较大的情况下,或者统计分析计算能够使用的内存受限的情况下,比如后台服务需要处理较多用户的计算请求,则无法将所有的数据都加载到内存中,而对于中位数的计算,需要将所有的数据都进行排序,否则无法精确给出中位数结果,这便对大数据量数据的中位数计算提出了挑战。而且,由于每次计算需要的计算资源都和数据量大小成正比,对于多个用户而言,有的用户计算的数据量较大,有的用户计算的数据量较少,受资源有限性的限制,在线服务的并发用户之间会相互影响,难以保证在线服务的并发用户数,而且,如果不限制每个计算任务的计算资源消耗量,则无法保证整体资源的持续可用性。
基于此,提出本公开实施例的方案。在本公开实施例中,采用流式加载数据的方式增量读取待测数据集并动态更新统计值。每读取一个输入数据,便更新当前的有效值数据量,当更新后的有效值数据量小于或等于设定阈值时,获取当前的有效值数据集并基于更新后的有效值数据集调用设定的中位数计算方法计算待测数据集的中位数,当更新后的有效值数据量大于设定阈值时,调用流式中位数计算方法计算待测数据集的中位数。通过该中位数可以反映待测数据集的数据特征,为后续的数据研究提供依据,比如在医疗技术领域,通过统计分析专病库中患者数据的中位数可以为后续的专病诊疗与预防的科研提供数据支撑,指导科研决策的方向。
在本公开示例实施例中,首先提供了一种数据处理方法,该数据处理方法可以应用于终端设备,例如手机、电脑等电子设备。图1示意性示出了根据本公开的一些实施例的一种数据处理方法流程的示意图。参考图1所示,该数据处理方法可以包括以下步骤:
步骤S110,响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量;
步骤S120,响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于有效值数据集调用设定的中位数计算方法计算待测数据集的中位数;
步骤S130,响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算待测数据集的中位数;其中的流式中位数计算方法用于在每读取到一个有效值数据时基于该有效值数据进行一次中位数估算,直至读取完待测数据集中的所有数据;
步骤S140,输出中位数。
根据本示例实施例中的数据处理方法,一方面,每读取待测数据集的一个输入数据便更新一次有效值数据量,并基于更新后的有效值数据量进行一次中位数统计,可以实现数据的增量读取和中位数的动态计算,不需要将待测数据集的所有数据都加载到内存中进行计算,中位数计算过程消耗的资源与数据量的大小无关,因此可以在有限的计算资源情况下计算任意数据量数据的中位数;另一方面,对于在线服务,由于中位数计算过程消耗的资源与数据量的大小无关,所以能够在计算资源一定的情况下保证并发用户的用户数量以及在线服务的稳定性;再者,对于有效数据量小于或等于设定阈值的小数据量数据可以加载有效值数据集中的所有数据计算中位数,对于有效值数据量大于设定阈值的大数据量数据调用流式中位数计算方法计算中位数,提高了中位数计算的精确度和效率。
下面,将对本示例实施例中的数据处理方法进行进一步的说明。
在步骤S110中,响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量。
待测数据集比如可以是乳腺癌专病库、肾脏病专病库或抑郁症专病库等专病库中的患者数据,对该患者数据进行数值数据的描述性统计分析,比如进行中位数计算,可以采用流式读取数据的方式从待测数据集中读取数据,每读取到一个输入数据,更新当前的有效值数据量。示例性的,每读取到待测数据集的一个输入数据,可以检测该输入数据的有效性,如果为有效值数据,则将当前的有效值数据量加1,同时可以更新读取的输入数据的总数。示例性的,如果检测到输入数据为非空值,则可以确定该输入数据为有效值数据,否则为无效值数据。
在步骤S120中,响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于有效值数据集调用设定的中位数计算方法计算待测数据集的中位数。
可以预先设定一个设定阈值,通过该设定阈值划分数据量的规模,若更新后的有效值数据量小于或等于设定阈值,可以认定为小规模数据量,若更新后的有效值数据量大于设定阈值,可以认定为大规模数据量。比如,可以提供设定阈值的配置配置控件,响应于检测到通过该配置控件配置设定阈值的配置操作,根据该配置操作确定出设定阈值,这样,可以针对不同的应用场景灵活地选择设定阈值。
当更新后的有效值数据量小于或等于设定阈值,可以获取当前从待测数据集中读取的所有有效值数据,得到当前的有效值数据集,然后可以调用设定的中位数计算方法计算待测数据集的中位数。示例性的,调用设定的中位数计算方法计算待测数据集的中位数可以包括:对有效值数据集进行排序,取其中的前1/2倍设定阈值个最大数据进行中位数计算。
在一种示例性实施例中,基于有效值数据集的前1/2倍设定阈值个最大数据计算待测数据集的中位数可以包括:采用二叉堆保存有效值数据集的前1/2倍设定阈值个最大数据;根据二叉堆中的数据计算待测数据集的中位数。比如,在采用二叉堆保存有效值数据集的前1/2倍设定阈值个最大数据时,若更新后的有效值数据量小于或等于1/2倍设定阈值,则将输入数据插入二叉堆,若更新后的有效值数据量大于1/2倍设定阈值且小于或等于设定阈值,则将输入数据插入二叉堆且将二叉堆中的最小数据删除,这样,二叉堆的内存占用空间可以控制在1/2倍设定阈值个元素以内,且可以动态保存1/2倍设定阈值个元素。
示例性的,二叉堆可以是最小二叉堆,也可以是最大二叉堆,本公开对此不做特殊限定。
在步骤S130中,响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算待测数据集的中位数。
当更新后的有效值数据量大于设定阈值时,可以调用流式中位数计算方法动态计算待测数据集的中位数,也就是,每读取一个有效值数据,可以将该有效值数据基于该有效值数据进行一次中位数的估算,生成中位数的估计值,直到读取完待测数据集中所有数据,最终得到的估计值即为所计算出的中位数。这种流式中位数计算方法可以基于每次读取的有效值数据动态生成中位数的估计值,读取的有效值数据可以不存储,因此对内存需求非常小且固定,所能够计算的数据量不受计算资源可用性的限制,在大数据量的中位数计算中可以获得较高的精度。
例如,在一种实施例中,流式中位数计算方法可以包括Python的PSquare类方法,该PSquare类方法可以动态计算百分位数,对于中位数即是计算50分位数,在计算百分位数过程中无需存储观测值。在本公开示例实施例中,可以将从待测数据集中读取的每个输入数据作为观测值,可以基于输入数据,调用PSquare类方法计算待测数据集的中位数。当输入数据为有效值数据时,可以根据该输入数据更新PSquare类方法的中位数估计值,实现中位数的动态计算。相应的,可以在读取待测数据集的输入数据之前,将PSquare类方法的统计变量初始化为计算中位数的参量,PSquare类方法可以采用百分位数的方式表示各分位数,对于中位数,即是将统计变量初始化为PSquare(50)。
在步骤S140中,输出中位数。
可以在显示器设定位置显示中位数,也可以将该中位数进行保存,还可以将该中位数发送给指定的设备,指导数据研究的方向。
基于图1对应实施例的数据处理方法,下面以设定阈值是2000、二叉堆采用最小二叉堆、流式中位数计算方法采用Python的PSquare类方法为例,对本公开实施例的方案做进一步的举例说明。
图2示意性示出了根据本公开的一些实施例的另一种数据处理方法流程的示意图,在该数据处理方法中,如果有效值数据量小于2000,则采用一个最小二叉堆来保存前1000个最大的数据,这样可以精确的计算出中位数;如果有效值数据量大于2000,则采用PSquare类方法计算中位数。参照图2所示,该数据处理方法可以包括如下的步骤S210~步骤S270。
在步骤S210中,初始化最小二叉堆和PSquare类方法的统计变量。
最小二叉堆在内存中可以以数组或列表的形式保存,在初始化阶段,可以将最小二叉堆数组或列表初始化为空,同时将PSquare类方法的统计变量初始化为PSquare(50),其中的50表示只计算50分位数,即中位数。
在步骤S220中,每读取到待测数据集的一个输入数据,更新当前的有效值数据量。
针对每一个输入数据,检测该输入数据是否有效,比如可以通过判断是否是空值来确定输入数据的有效性。如果输入数据是有效数据,则将当前的有效值数据量加1,得到更新后的有效值数据量;如果输入数据是无效的,则继续从待测数据集中读取下一个输入数据。示例性的,还可以更新所读取数据的总数,也可以更新无效值数据量。
在步骤S230中,输入数据为有效数据时,更新PSquare类方法的状态。
可以调用update方法更新PSquare类方法的中位数估计值。
在步骤S240中,若更新后的有效值数据量小于或等于1000,则将输入数据插入最小二叉堆,利用有效值数据量从最小二叉堆中查找到中位数。
若更新后的有效值数据量小于或等于1000,可以使用Python标准库的插入元素函数heappush将输入数据推入最小二叉堆,然后按照二叉堆排序查找出中位数。
在步骤S250中,若更新后的有效值数据量大于1000且小于或等于2000,则将输入数据插入最小二叉堆且将最小二叉堆中的最小数据删除,利用有效值数据量从最小二叉堆中查找到中位数。
若更新后的有效值数据量大于1000且小于或等于2000,可以使用Python标准库的插入元素函数heappush将输入数据推入最小二叉堆,同时使用Python标准库的弹出最小元素函数heappop将最小二叉堆中的最小数据从最小二叉堆中推出,也即删除,这样可以保持最小二叉堆的内存占用控制在1000个元素以内。
在步骤S260中,若更新后的有效值数据量大于2000,则调用PSquare类方法计算中位数。
若更新后的有效值数据量大于2000,可以放弃最小二叉堆并释放最小二叉堆的空间,仅以PSquare类方法的当前估计值为准,可以取PSquare类方法中的p_estimate方法获取估计的中位数。
在步骤S270中,输出中位数。
在得到待测数据集的中位数之后,可以在显示屏中显示该中位数,也可以对该中位数进行保存,或者将该中位数发送给指定的设备。
根据图2对应实施例的数据处理方法,在任意时刻,都可以给出当前读取的所有输入数据的中位数。如果有效值数据量小于或等于1000,则表示所有数据都在二叉堆列表中,可以直接按照二叉堆排序查找出中位数;如果有效值数据量大于1000且小于或等于2000,则在二叉堆中的数据是排序前1000的数据,可以根据二叉堆排序,利用有效值数据量从排序中查找到中位数;如果有效值数据量大于2000,释放二叉堆为空,可以直接从PSquare类方法中的p_estimate方法中获取估计值作为中位数。
根据本公开实施例提供的数据处理方法,对于多用户的服务型软件,可以在有限的资源下高效处理无限多数据的描述性统计分析的计算,提高了计算结果的稳定性和精确性,能够满足描述性统计分析的各种应用场合,通用性较高。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种数据处理装置。参照图3所示,该数据处理装置300可以包括:获取模块310,可以用于响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量;第一计算模块320,可以用于响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于所述有效值数据集调用设定的中位数计算方法计算所述待测数据集的中位数;第二计算模块330,可以用于响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算待测数据集的中位数,该流式中位数计算方法用于在每读取到一个有效值数据时基于该有效值数据进行一次中位数估算,直至读取完待测数据集中的所有数据;;输出模块340,可以用于输出中位数。
在本公开的一种示例性实施例中,基于前述方案,第一计算模块320可以具体用于基于有效值数据集的前1/2倍设定阈值个最大数据计算待测数据集的中位数。
在本公开的一种示例性实施例中,基于前述方案,第一计算模块320可以包括保存单元和计算单元。保存单元可以用于采用二叉堆保存有效值数据集的前1/2倍设定阈值个最大数据;计算单元可以用于根据二叉堆中的数据计算待测数据集的中位数。
在本公开的一种示例性实施例中,基于前述方案,保存单元可以具体用于:响应于更新后的有效值数据量小于或等于1/2倍设定阈值,将输入数据插入所述二叉堆;响应于更新后的有效值数据量大于1/2倍设定阈值且小于或等于设定阈值,将输入数据插入二叉堆且将二叉堆中的最小数据删除。
在本公开的一种示例性实施例中,基于前述方案,第二计算模块330可以具体用于:基于输入数据,调用PSquare类方法计算待测数据集的中位数。
在本公开的一种示例性实施例中,基于前述方案,第二计算模块330还可以用于响应于输入数据为有效值数据,根据输入数据更新PSquare类方法的估计值。
在本公开的一种示例性实施例中,基于前述方案,数据处理装置300还可以包括确定模块,该确定模块可以用于响应于检测到配置设定阈值的配置操作,确定设定阈值。
上述中数据处理装置各模块的具体细节已经在对应的数据处理方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了数据处理装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述数据处理方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图4来描述根据本公开的这种实施例的电子设备400。图4所示的电子设备400仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400以通用计算设备的形式表现。电子设备400的组件可以包括但不限于:上述至少一个处理单元410、上述至少一个存储单元420、连接不同系统组件(包括存储单元420和处理单元410)的总线430、显示单元440。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元410执行,使得所述处理单元410执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,所述处理单元410可以执行如图1中所示的步骤:步骤S110,响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量;步骤S120,响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于有效值数据集调用设定的中位数计算方法计算待测数据集的中位数;步骤S130,响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算待测数据集的中位数;步骤S140,输出中位数。
存储单元420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)421和/或高速缓存存储单元422,还可以进一步包括只读存储单元(ROM)423。
存储单元420还可以包括具有一组(至少一个)程序模块425的程序/实用工具424,这样的程序模块425包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备400也可以与一个或多个外部设备470(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备400交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口450进行。并且,电子设备400还可以通过网络适配器460与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器460通过总线430与电子设备400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
参考图5所示,描述了根据本公开的实施例的用于实现上述数据处理方法的程序产品500,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频(RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量;
响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于所述有效值数据集调用设定的中位数计算方法计算所述待测数据集的中位数;
响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算所述待测数据集的中位数;所述流式中位数计算方法用于在每读取到一个有效值数据时基于所述有效值数据进行一次中位数估算,直至读取完所述待测数据集中的所有数据;
输出所述中位数。
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述有效值数据集调用设定的中位数计算方法计算所述待测数据集的中位数包括:
基于所述有效值数据集的前1/2倍所述设定阈值个最大数据计算所述待测数据集的中位数。
3.根据权利要求2所述的数据处理方法,其特征在于,所述基于所述有效值数据集的前1/2倍所述设定阈值个最大数据计算所述待测数据集的中位数包括:
采用二叉堆保存所述有效值数据集的前1/2倍所述设定阈值个最大数据;
根据所述二叉堆中的数据计算所述待测数据集的中位数。
4.根据权利要求3所述的数据处理方法,其特征在于,所述采用二叉堆保存更新后的有效值数据集的前1/2倍所述设定阈值个最大数据包括:
响应于更新后的有效值数据量小于或等于1/2倍所述设定阈值,将所述输入数据插入所述二叉堆;
响应于更新后的有效值数据量大于1/2倍所述设定阈值且小于或等于所述设定阈值,将所述输入数据插入所述二叉堆且将所述二叉堆中的最小数据删除。
5.根据权利要求1所述的数据处理方法,其特征在于,所述调用流式中位数计算方法计算所述待测数据集的中位数包括:
基于所述输入数据,调用PSquare类方法计算所述待测数据集的中位数。
6.根据权利要求5所述的数据处理方法,其特征在于,还包括:
响应于所述输入数据为有效值数据,根据所述输入数据更新所述PSquare类方法的估计值。
7.根据权利要求1所述的数据处理方法,其特征在于,在所述响应于读取到待测数据集的一个输入数据之前,所述数据处理方法还包括:
响应于检测到配置设定阈值的配置操作,确定所述设定阈值。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于响应于读取到待测数据集的一个输入数据,更新当前的有效值数据量;
第一计算模块,用于响应于更新后的有效值数据量小于或等于设定阈值,获取当前的有效值数据集,并基于所述有效值数据集调设定的中位数计算方法计算所述待测数据集的中位数;
第二计算模块,用于响应于更新后的有效值数据量大于设定阈值,调用流式中位数计算方法计算所述待测数据集的中位数;所述流式中位数计算方法用于在每读取到一个有效值数据时基于所述有效值数据进行一次中位数估算,直至读取完所述待测数据集中的所有数据;
输出模块,用于输出所述中位数。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法。
CN202210344857.XA 2022-03-31 2022-03-31 数据处理方法及装置、电子设备、存储介质 Pending CN114724725A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210344857.XA CN114724725A (zh) 2022-03-31 2022-03-31 数据处理方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210344857.XA CN114724725A (zh) 2022-03-31 2022-03-31 数据处理方法及装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN114724725A true CN114724725A (zh) 2022-07-08

Family

ID=82241413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210344857.XA Pending CN114724725A (zh) 2022-03-31 2022-03-31 数据处理方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN114724725A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116414733A (zh) * 2023-03-03 2023-07-11 港珠澳大桥管理局 数据处理方法、装置、计算机设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116414733A (zh) * 2023-03-03 2023-07-11 港珠澳大桥管理局 数据处理方法、装置、计算机设备和存储介质
CN116414733B (zh) * 2023-03-03 2024-02-20 港珠澳大桥管理局 数据处理方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN110704751A (zh) 数据处理方法、装置、电子设备及存储介质
US20220374238A1 (en) Operator registration method and apparatus for deep learning framework, device and storage medium
US8681166B1 (en) System and method for efficient resource management of a signal flow programmed digital signal processor code
CN112035092A (zh) 一种表单的处理方法、装置、设备和可读介质
CN110688111A (zh) 业务流程的配置方法、装置、服务器和存储介质
CN116244387A (zh) 实体关系构建方法、装置、电子设备及存储介质
CN114724725A (zh) 数据处理方法及装置、电子设备、存储介质
CN114490116A (zh) 数据处理方法、装置、电子设备及存储介质
CN111367813B (zh) 决策引擎自动化测试方法、装置、服务器及存储介质
CN112035732A (zh) 一种搜索结果的扩展方法、系统、设备和存储介质
CN113220306A (zh) 操作执行方法、装置和电子设备
CN110825461B (zh) 数据处理方法和装置
CN109635238B (zh) 矩阵运算方法、装置、设备及可读介质
CN114328700B (zh) 医疗数据etl任务中的数据核查方法及装置
CN112256252A (zh) 接口生成方法、装置、存储介质及电子设备
JP2014186477A (ja) 情報処理装置、情報処理方法、及び、プログラム
CN116009675A (zh) 功耗确定方法、装置、存储介质及电子设备
CN114201729A (zh) 一种矩阵运算方式的选择方法、装置、设备以及存储介质
CN114840256A (zh) 一种程序数据级并行分析方法、装置及相关设备
CN110442633B (zh) 结构化数据生成方法及装置、存储介质及电子设备
CN114035804A (zh) 代码转换方法、装置、介质和电子设备
CN109857838B (zh) 用于生成信息的方法和装置
CN113377648A (zh) 软件系统诊断方法、装置、电子设备及计算机可读介质
CN111813846A (zh) 一种数据分析处理系统和数据处理方法
CN111026463A (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