CN103631797A - 用于数据列表的操作方法和装置 - Google Patents
用于数据列表的操作方法和装置 Download PDFInfo
- Publication number
- CN103631797A CN103631797A CN201210301726.XA CN201210301726A CN103631797A CN 103631797 A CN103631797 A CN 103631797A CN 201210301726 A CN201210301726 A CN 201210301726A CN 103631797 A CN103631797 A CN 103631797A
- Authority
- CN
- China
- Prior art keywords
- list
- data
- data list
- logic
- service data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
Abstract
本申请公开了一种用于数据列表的操作方法和装置,其中,该方法包括:接收用于对多于一个的当前数据列表进行计算的计算命令;从计算命令中获取计算所需的特征因子和逻辑指令,其中,特征因子用于指示当前数据列表中参与计算的数据项,逻辑指令用于指示数据项所进行的逻辑运算;获取与特征因子和逻辑指令所指示的集合逻辑关系对应的、预先存储的已操作数据列表,其中,已操作数据列表是预先根据当前数据列表中的特征因子执行逻辑指令得到的;对获取的已操作数据列表进行计算命令中指示的计算操作。本申请解决了现有技术在对数据列表进行操作时比较逻辑和运算逻辑是相关的,从而造成了重复的运算和不必要的计算资源的浪费的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种用于数据列表的操作方法和装置。
背景技术
目前,在对大批量的新旧两份数据列表进行比较处理时,一般都会对两份数据的特征因子进行循环比较。比较时,主要是通过创建多个存储列表来单独存储不同用途的比较处理后的数据单元,在完成比较后,后面的计算将依赖这些独立的数据列表进行逻辑运算。在对数据列表进行比较或者是对新的数据列表进行计算场景中,这种解决方案是比较常用的。
然而,从数据列表的比较和数据列表的计算两个逻辑步骤来看,两者之间的关系是相互依存关系,只有基于列表的比较,才能执行数据列表的计算;由于存在对数据列表的计算,列表的比较才有存在的意义,这种依赖关系的耦合度很高。同时,对于不同的比较和计算场景,由于数据结果的差异,不断重复上面的比较和计算逻辑也是必然的,在处理过程中数据的通用性差。
目前,针对比较和计算的场景,采用比较数据列表中数据单元的内部特征属性,将特征属性作为比较因子,由于应用用途的差异,特征因子随应用场景的变化而变。例如,当数据单元是学生时,特征属性包含:学号、名字以及性别等,这些特征属性都可以作为特征因子,例如“学号”就可以作为特征因子使用。根据对应的特征因子,循环计算多份列表,就可以得到按照该特征因子划分的新的数据列表,例如:按照“学号”对数据列表进行划分,可以得到“新报到学生列表”类似的应用数据,后续的逻辑再根据上述比较后的数据列表执行后续的逻辑处理。然而,当再需要用到学号对应的数据列表时,还需要再次对该数据列表进行逻辑比较运算。这种处理方式需要依赖具体的业务场景下的特征因子,对比较划分和计算之间的数据列表没有独立抽取,从而导致在相似的场景下需要进行重复的集合运算。
例如,存在两份数据列表A和B,在对数据列表A和B进行计算的时候,可能在一个运算中需要计算A和B的并集,在另外一个运算中可能也需要计算A和B的并集,根据并集的结果进行后续的运算。例如,数据列表A是A班学生的学生信息、数据列表B是B班学生的学生信息,根据现有的处理方式计算A和B两班学生总成绩的时候需要对A和B两个数据列表进行并集运算,再计算总成绩,在统计两班学生的性别分布的时候,也需要对A和B两个数据列表进行并集运算。这样在进行两种不同的计算逻辑的时候,都需要进行一次A与B的并集运算,从而造成了不必要的运算操作,增加了系统的计算负荷。特别是到对多个数据列表进行联合的运算的时候,出现需要重复进行集合运算的操作的概率更大。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种用于数据列表的操作方法和装置,以至少解决现有技术中在对数据列表进行操作时比较逻辑和运算逻辑是相关的,每次进行运算逻辑之前都需要进行相应的比较逻辑,从而造成了重复的运算和不必要的计算资源的浪费的技术问题。
根据本申请的一个方面,提供了一种用于数据列表的操作方法,包括:接收用于对多于一个的当前数据列表进行计算的计算命令;从计算命令中获取计算所需的特征因子和逻辑指令,其中,特征因子用于指示当前数据列表中参与计算的数据项,逻辑指令用于指示数据项所进行的逻辑运算;获取与特征因子和逻辑指令所指示的集合逻辑关系对应的、预先存储的已操作数据列表,其中,已操作数据列表是预先根据当前数据列表中的特征因子执行逻辑指令得到的;对获取的已操作数据列表进行计算命令中指示的计算操作。
优选地,在接收用于对多于一个的当前数据列表进行计算的计算命令之前,上述方法还包括:获取多于一个的当前数据列表与特征因子;按照不同的集合逻辑关系对多于一个当前数据列表进行逻辑运算;将逻辑运算后得到的结果作为已操作数据列表进行存储。
优选地,将逻辑运算后得到的结果作为已操作数据列表进行存储的步骤包括:按照生成该已操作数据列表所对应的集合逻辑关系、以及特征因子对已操作数据列表进行命名;对命名后的已操作数据列表进行存储。
优选地,已操作数据列表存储在缓存服务器中。
优选地,集合逻辑关系包括以下至少之一:交集运算、并集运算、差集运算、以及子集运算。
根据本申请的另一个方面,提供了一种用于数据列表的操作装置,包括:接收单元,用于接收用于对多于一个的当前数据列表进行计算的计算命令;第一获取单元,用于从计算命令中获取计算所需的特征因子和逻辑指令,其中,特征因子用于指示当前数据列表中参与计算的数据项,逻辑指令用于指示数据项所进行的逻辑运算;第二获取单元,用于获取与特征因子和逻辑指令所指示的集合逻辑关系对应的、预先存储的已操作数据列表,其中,已操作数据列表是预先根据当前数据列表中的特征因子执行逻辑指令得到的;计算单元,用于对获取的已操作数据列表进行计算命令中指示的计算操作。
优选地,上述装置还包括:第三获取单元,用于获取多于一个的当前数据列表与特征因子;逻辑运算单元,用于按照不同的集合逻辑关系对多于一个的当前数据列表进行逻辑运算;存储单元,用于将逻辑运算后得到的结果作为已操作数据列表进行存储。
优选地,存储单元包括:命名模块,用于按照生成该已操作数据列表所对应的集合逻辑关系、以及特征因子对已操作数据列表进行命名;存储模块,用于对命名后的已操作数据列表进行存储。
优选地,已操作数据列表存储在缓存服务器中。
优选地,集合逻辑关系包括以下至少之一:交集运算、并集运算、差集运算、以及子集运算。
在本申请中,通过预先存储多个数据列表在不同特征因子下对应于不同集合逻辑关系的新的数据列表,从而使得在需要进行比较逻辑运算时,从这些列表中选择所需的数据列表进行运算即可,解决了现有技术中在对数据列表进行操作时比较逻辑和运算逻辑是相关的,每次进行运算逻辑之前都需要进行相应的比较逻辑,从而造成了重复的运算和不必要的计算资源的浪费的技术问题,达到了避免重复的比较逻辑的运算,减少计算资源浪费的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的用于数据列表的操作系统的一种优选结构框图;
图2是根据本申请实施例的用于数据列表的操作装置的一种优选结构框图;
图3是根据本申请实施例的用于数据列表的操作装置的另一种优选结构框图;
图4是根据本申请实施例的用于数据列表的操作装置的又一种优选结构框图;
图5是根据本申请实施例的用于数据列表的操作方法的一种优选流程图;
图6是根据本申请实施例的用于数据列表的操作方法的另一种优选流程图;
图7是根据本申请实施例的用于数据列表的操作方法的又一种优选流程图;
图8是根据本申请实施例的用于数据列表的操作系统总体结构图;
图9是根据本申请实施例的集合数据的处理流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在描述本申请的各实施例的进一步细节之前,将参考图1来描述可用于实现本申请的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本申请,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本申请。
图1示出了可用于这些设备的一个示例计算机体系结构的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算系统解释为对图1所示的任一组件或其组合具有任何依赖或需求。
本申请的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本申请的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
在其最基本的配置中,图1中的用于数据列表的操作系统100至少包括:一个网站的服务器102以及一个或多个客户端104。服务器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置、用于存储数据的存储装置以及与客户端通信的传输装置;客户端104可以包括:微处理器MCU、与服务器通信的传输装置、与用户交互的显示装置。在本说明书和权利要求书中,“系统”也可以被定义为能够执行软件、固件或微码来实现功能的任何硬件组件或硬件组件的组合用于数据列表的操作100甚至可以是分布式的,以实现分布式功能。
如本申请所使用的,术语“模块”、“组件”或“单元”可以指在用于数据列表的操作100上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在用于数据列表的操作100上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构想的。
实施例1
图2是根据本申请实施例用于数据列表的操作装置200的一种优选的结构示意图,优选的,本实施例中的装置位于服务器102上或者客户端104上。
如图2所示,用于数据列表的操作装置200包括:接收单元202、第一获取单元204、第二获取单元206以及计算单元208。下面对该装置的几个单元的功能进行具体描述:
接收单元202,用于接收用于对多于一个的当前数据列表进行计算的计算命令;
第一获取单元204,用于从计算命令中获取计算所需的特征因子和逻辑指令,其中,特征因子用于指示当前数据列表中参与计算的数据项,逻辑指令用于指示数据项所进行的逻辑运算;
例如,对于学生数据列表,当需要计算同班级学生在两个学期的学生成绩时,就需要该班在两个学期的学生数据列表的并集,以得到同时存在两个学期的学生信息,再利用得到的数据执行成绩计算逻辑,因此其对应的逻辑指令就是:并操作,即,计算两个数据列表的并集,对应的特征因子是:学号。
第二获取单元206,用于获取与特征因子和逻辑指令所指示的集合逻辑关系对应的、预先存储的已操作数据列表,其中,已操作数据列表是预先根据当前数据列表中的特征因子执行逻辑指令得到的;
考虑到对数据的集合逻辑运算就存在以下几种关系:交集、并集、差集以及子集,因此,可以预先存储对应于多于一个的数据列表之间进行集合逻辑运算后得到的数据列表,这样在计算时,只需要从预先存储的多个已操作的数据列表中选择所需的数据列表即可,而不需要每次用到相同的集合逻辑运算时都需要进行一次集合的逻辑计算,即将逻辑运算与计算指令分开进行独立运算。例如,对于上述的计算同班级两个学期的学生信息,从预先存储的多个已操作数据列表中,找到该班级两个学期所对应的两张数据列表基于学号这个特征因子的交集运算所对应的数据列表即可。
计算单元208,用于对获取的已操作数据列表进行计算命令中指示的计算操作。
在接收到的计算指令中,既存在对数据集合的逻辑运算又存在对数据集合的计算操作,在获取到其对应的逻辑运算的数据列表后,基于该逻辑运算后的数据列表进行计算操作即可,从而适应于不同的计算操作。
在本优选实施方式中,通过预先存储多个数据列表在不同特征因子下对应于不同集合逻辑关系的新的数据列表,从而使得在需要进行比较逻辑运算时,从这些列表中选择所需的列表进行运算即可,解决了现有技术中在对数据列表进行操作时比较逻辑和运算逻辑是相关的,每次进行运算逻辑之前都需要进行相应的比较逻辑,从而造成了重复的运算和不必要的计算资源的浪费的技术问题,达到了避免重复的比较逻辑的运算,减少计算资源浪费的技术效果。
在一个优选实施方式中,如图3所示,上述装置还包括:第三获取单元302,用于获取多于一个的当前数据列表与特征因子;逻辑运算单元304,用于按照不同的集合逻辑关系对多于一个的当前数据列表进行逻辑运算;存储单元306,用于将逻辑运算后得到的结果作为已操作数据列表进行存储。
优选地,如图4所示,存储单元306包括:命名模块402,用于按照生成该已操作数据列表所对应的集合逻辑关系、以及特征因子对已操作数据列表进行命名;存储模块404,用于对命名后的已操作数据列表进行存储。即,获取多个具有相同数据结构的数据列表,并提取该数据结构中的多个特征因子,即多个数据项;上述的多个数据列表按照每种集合逻辑运算得到对应于不同特征因子的不同的数据列表。
在对上述得到的已操作数据列表进行存储时,可以按照生成该已操作数据列表所对应的集合逻辑关系、以及特征因子对已操作数据列表进行命名;对命名后的已操作数据列表进行存储。
例如,对于数据结构为Student(id,name,sex,class)的多个数据列表,以id作为特征因子的情况下,按照不同的集合逻辑关系得到的数据列表可以按照如下格式的名称存储:“id=student单元”,从而表明该数据列表的集合时对应于id这个特征因子的不同的集合逻辑运算下的数据列表。
考虑到在对大批量的集合数据进行计算时,如果集合运算后的结果直接存放在内存中,势必需要足够的内存支持,会影响应用在执行其他逻辑时内存分配资源切换的消耗,因此,可以将结果数据存储在cache服务器上,从而可以释放这部分的存储资源,后续计算逻辑通过一定的规则从cache服务中获取相应的数据集合,即,优选地,已操作数据列表存储在缓存服务器中。
在各个优选实施方式中,集合逻辑关系包括但不限于以下至少之一:交集运算、并集运算、差集运算、以及子集运算。
实施例2
基于上述用于数据列表的操作装置,本申请实施例还提供了一种用于数据列表的操作方法,如图5所示,包括以下步骤:
步骤S502:接收用于对多于一个的当前数据列表进行计算的计算命令;
步骤S504:从计算命令中获取计算所需的特征因子和逻辑指令,其中,特征因子用于指示当前数据列表中参与计算的数据项,逻辑指令用于指示数据项所进行的逻辑运算;
例如,对于学生数据列表,当需要计算同班级学生在两个学期的学生成绩时,就需要该班在两个学期的学生数据列表的并集,以得到同时存在两个学期的学生信息,再利用得到的数据执行成绩计算逻辑,因此其对应的逻辑指令就是:并操作,,即,计算两个数据列表的并集,对应的特征因子是:学号。
步骤S506:获取与特征因子和逻辑指令所指示的集合逻辑关系对应的、预先存储的已操作数据列表,其中,已操作数据列表是预先根据当前数据列表中的特征因子执行逻辑指令得到的;
考虑到对数据的执行逻辑运算时存在以下几种集合逻辑关系:交集、并集、差集以及子集,因此,可以预先存储对应于多于一个的数据列表之间进行逻辑运算后得到的数据列表,这样在计算时,只需要从预先存储的多个已操作的数据列表中选择所需的数据列表即可,而不需要每次用到相同的集合逻辑运算时都需要进行一次集合的逻辑计算,即将逻辑运算与计算指令分开进行独立运算。例如,对于上述的计算同班级两个学期的学生信息,从预先存储的多个已操作数据列表中,找到该班级两个学期所对应的两张数据列表基于学号这个特征因子的交集运算所对应的数据列表即可。
步骤S508:对获取的已操作数据列表进行计算命令中指示的计算操作。
在接收到的计算指令中,既存在对数据集合的逻辑运算又存在对数据集合的计算操作,在获取到其对应的逻辑运算的数据列表后,基于该逻辑运算后的数据列表进行计算操作即可,从而适应于不同的计算操作。
在本优选实施方式中,通过预先存储多个数据列表在不同特征因子下对应于不同集合逻辑关系的新的数据列表,从而使得在需要进行比较逻辑运算时,从这些列表中选择所需的列表进行运算即可,解决了现有技术中在对数据列表进行操作时比较逻辑和运算逻辑是相关的,每次进行运算逻辑之前都需要进行相应的比较逻辑,从而造成了重复的运算和不必要的计算资源的浪费的技术问题,达到了避免重复的比较逻辑的运算,减少计算资源浪费的技术效果。
在一个优选实施方式中,需要预先生成对应于不同特征因子不同集合逻辑关系的已操作数据列表,如图6所示,可以按照以下步骤实现:
步骤S602:获取多于一个的当前数据列表与特征因子;即,获取多个具有相同数据结构的数据列表,并提取该数据结构中的多个特征因子,即多个数据项。
步骤S604:按照不同的集合逻辑关系对多于一个的当前数据列表进行逻辑运算;即,对上述的多个数据列表按照每种集合逻辑运算得到对应于不同特征因子的不同的数据列表。
步骤S606:将逻辑运算后得到的结果作为已操作数据列表进行存储。
在对上述得到的已操作数据列表进行存储时,可以按照生成该已操作数据列表所对应的集合逻辑关系、以及特征因子对已操作数据列表进行命名;对命名后的已操作数据列表进行存储。
例如,对于数据结构为Student(id,name,sex,class)的多个数据列表,以id作为特征因子的情况下,按照不同的集合逻辑关系得到的数据列表可以按照如下格式的名称存储:“id=student单元”,从而表明该数据列表的集合时对应于id这个特征因子的不同的集合逻辑运算下的数据列表。
考虑到在对大批量的集合数据进行计算时,如果集合运算后的结果直接存放在内存中,势必需要足够的内存支持,会影响应用在执行其他逻辑时内存分配资源切换的消耗,因此,可以将结果数据存储在cache服务器上,从而可以释放这部分的存储资源,后续计算逻辑通过一定的规则从cache服务中获取相应的数据集合,即,优选地,已操作数据列表存储在缓存服务器中。
在各个优选实施方式中,集合逻辑关系包括但不限于以下至少之一:交集运算、并集运算、差集运算、以及子集运算。
实施例3
本申请提供了一种优选的实施例来进一步对本申请进行解释,但是值得注意的是,该优选实施例只是为了更好的描述本申请,并不构成对本申请不当的限定。
考虑到现有技术中有特征因子的使用,但是没有充分利用特征因子和比较划分数据列表的关系。即,在特征因子作用下,根据特征因子划分后的业务用途使用特定组合数据列表,比如按照ID因子比较,得到两个列表都存在的数据列表,就是两个列表的交集部分。从本质来说,可以认为特征因子对于多个数据列表的比较结果,可以存在以下几种关系:交集、并集、差集、子集。如果特征因子和集合能够在计算关系之间独立运算,那么在不同的比较场景时都可以采用相同的数据列表集合,减少了重复运算的概率,从而减少了运算负荷。
比较数据逻辑和计算处理逻辑的耦合度很高,比较逻辑依赖于应用场景,例如:在对同班级在两个学期的学生成绩进行统计的时候,就需要比较两个学期学生数据列表数据,得到同时存在两个学期的学生信息,再利用上面的数据执行成绩计算逻辑。
在本实施例中,可以通过提取新旧两份数据列表中数据单元的特征因子值,按照特征因子值转换成“特征因子=数据单元”结构的两份因子特征数据列表的方式进行数据列表的计算;接着将两份特征因子特征数据列表送到通用的集合运算模型,最终得到多份对应于该特征因子的列表,可以通过cache缓存服务机制缓存上述的列表;在后续的计算逻辑中,只需要从cache中提取符合计算要求的特征因子列表即可。通过上述方式,基于通用集合划分模型、cache缓存机制、计算依赖通用集合类方法有效地解决了现有技术中对数据列表进行操作时逻辑运算通用性低造成的重复计算而导致的浪费计算资源的技术问题。
从本质来说,可以认为特征因子对于多个数据列表的比较结果,存在以下几种关系:交集、并集、差集以及子集。通过将特征因子和集合关系独立运算,使得不同的比较场景都可以采用同一个数据列表集合。
在本实施例中,通过特征因子实现比较逻辑的抽象化、集合化,以及比较结果缓存处理技术,实现了处理大批量多数据列表比较和计算的通用性,提高了对数据列表计算的性能。在本技术方案中,如图7所示,包括以下步骤:
步骤S702:比较逻辑接收多个具有相同数据单元的数据列表,以及特征因子。
步骤S704:按照特征因子值转换原有数据列表为“特征因子=数据单元”的数据列表。
步骤S706:使用集合模型,按照因子值计算得到集合逻辑关系的四种新关系数据列表:交集数据列表、并集数据列表、差集数据列表、以及子集数据列表。
步骤S708:使用命名规则化方式,将新列表使用缓存技术暂存在cache服务器上。
步骤S710:后续运算根据需要从cache中按照命名规则获取所需的新集合数据列表。
通过上述方式,实现了基于不同应用场景下比较划分逻辑和计算逻辑的分离,同时在不同应用场景下,都可以采用通用的比较集合划分组件,减少了重复性的计算操作。
图8是本申请实施例的系统总体结构图,如图8所示,描述了基于特征因子的集合划分多个数据列表的通用系统流程,对于多个数据列表需要比较和计算的场景,将数据列表中单个数据单元的特征因子提取出来,例如:Student(id,name,sex,class)单元。在某些场景提取id作为特征因子,将多个数据列表及特征因子作为参数交给集合比较划分组件单元处理,集合处理单元通过特征因子转换存储列表,比如Student数据单元列表,存储格式为:“id=student单元”组成新的数据列表,将转换后的数据列表采用集合算法计算得到四种基本集合关系,输出四种关系对应的列表数据。输出可以支持两种方式:cache缓存或者直接输出结果列表,cache缓存机制在大数据量比较可以提高性能,一般应用的计算直接获取新的数据列表进行计算即可。
图9是集合数据的流程图,如图9所示:数据列表A和B、对应的特征因子是F1,集合划分关系运算规则如下:
关系名称 | 集合表达式 | 因子 | 描述 |
交集(F1-A^B) | A^B | F1 | 通过F1,计算两个列表中存在交集的数据单元 |
并集(F1-AUB) | AUB | F1 | 通过F1,合并两个列表的数据单元 |
差集(F1-A-B) | A-B | F1 | 通过F1,计算存在A中,但不存在B中的数据单元 |
差集(F1-B-A) | B-A | F1 | 通过F1,计算存在B中,但不存在A中的数据单元 |
cache缓存集合列表数据机制:在大批量的集合数据计算时,如果集合运算后的结果直接放在内存中,势必需要足够的内存支持,会影响应用在执行其他逻辑时内存分配资源切换的消耗。因此,可以将结果数据存储在cache服务器上,即可释放这部分的存储资源,同时后续的计算逻辑通过一定的规则从cache服务中获取相应的数据集合即可。
目前的cache服务机制完全可以支持通过单独的应用提供数据集合的新增、查询、删除。对应的cache查询读取数据规则和结果数据写入规则,在场景S1下,cache存储数据列表规则可以简单描述为:
存储key | 存储数据表达式 | 描述 |
交集(S1-F1-A^B) | A^B | 两个列表中存在交集的数据单元 |
并集(S1-F1-AUB) | AUB | 合并两个列表的数据单元 |
差集(S1-F1-A-B) | A-B | 存在A中,但不存在B中的数据单元 |
差集(S1-F1-B-A) | B-A | 存在B中,但不存在A中的数据单元 |
通过配置集合划分规则,可以在使用比较和计算逻辑场景时,加载配置规则,并且获取相应逻辑的规则定义,从而完成对比较划分特征因子的初始化。同时,采用集合比较组件完成计算,得到四种集合关系的数据列表,同时将数据列表按照一定的规则写入cache服务机器。对于后续依赖的应用,将不直接依赖数据列表的比较逻辑,而是从cache服务器上获取规则配置中cache配置名称所对应的集合列表数据,简化了操作,同时也减少了重复操作的可能性。
其中,对应集合比较划分因子规则配置项可以如下表所示:
规则名称 | 因子 | cache映射名称 | 描述 |
brand_notifySet_reg | ordering | notifySet-ordering-A^B | 发送修改notify数据集合 |
Brand_editImgSet_reg | Ordering+sourceUrl | notifySet-ordering-sourceUrl-A-B | 需要做删除处理的数据集合 |
King_notifySet_reg | Status+b2bStatus | notifySet-ordering-sourceUrl-B-A | 需要发送新增消息的数据集合 |
集合因子规则名称可以根据应用场景进行定义,以表示比较划分数据的用途,例如:brand notifySet reg是发送notify消息数据集合规则,因子是指集合划分组件中的特征因子组合,通过传入这些特征因子,结合存储数据单元的属性定义,找到对应的特征因子值,通过这些值采用集合算法得到基础的四种集合关系数据;cache映射名称配置了划分后在cache中可以获取相应数据列表的key值,通过该key可以查询到满足业务应用的数据集合列表。
通过以上的描述可知,本申请具有以下优势:通过预先存储多个数据列表在不同特征因子下对应于不同集合逻辑关系的新的数据列表,从而使得在需要进行比较逻辑运算时,从这些列表中选择所需的列表进行运算即可,解决了现有技术中在对数据列表进行操作时比较逻辑和运算逻辑是相关的,每次进行运算逻辑之前都需要进行相应的比较逻辑,从而造成了重复的运算和不必要的计算资源的浪费的技术问题,达到了避免重复的比较逻辑的运算,减少计算资源浪费的技术效果。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种用于数据列表的操作方法,其特征在于,包括:
接收用于对多于一个的当前数据列表进行计算的计算命令;
从所述计算命令中获取计算所需的特征因子和逻辑指令,其中,所述特征因子用于指示所述当前数据列表中参与计算的数据项,所述逻辑指令用于指示所述数据项所进行的逻辑运算;
获取与所述特征因子和所述逻辑指令所指示的集合逻辑关系对应的、预先存储的已操作数据列表,其中,所述已操作数据列表是预先根据所述当前数据列表中的所述特征因子执行所述逻辑指令得到的;
对所述获取的已操作数据列表进行所述计算命令中指示的计算操作。
2.根据权利要求1所述的方法,其特征在于,在接收用于对多于一个的当前数据列表进行计算的计算命令之前,所述方法还包括:
获取所述多于一个的当前数据列表与所述特征因子;
按照不同的集合逻辑关系对所述多于一个的当前数据列表进行逻辑运算;
将逻辑运算后得到的结果作为所述已操作数据列表进行存储。
3.根据权利要求2所述的方法,其特征在于,将逻辑运算后得到的结果作为所述已操作数据列表进行存储的步骤包括:
按照生成该已操作数据列表所对应的集合逻辑关系、以及特征因子对所述已操作数据列表进行命名;
对命名后的所述已操作数据列表进行存储。
4.根据权利要求1所述的方法,其特征在于,所述已操作数据列表存储在缓存服务器中。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述集合逻辑关系包括以下至少之一:交集运算、并集运算、差集运算、以及子集运算。
6.一种用于数据列表的操作装置,其特征在于,包括:
接收单元,用于接收用于对多于一个的当前数据列表进行计算的计算命令;
第一获取单元,用于从所述计算命令中获取计算所需的特征因子和逻辑指令,其中,所述特征因子用于指示所述当前数据列表中参与计算的数据项,所述逻辑指令用于指示所述数据项所进行的逻辑运算;
第二获取单元,用于获取与所述特征因子和所述逻辑指令所指示的集合逻辑关系对应的、预先存储的已操作数据列表,其中,所述已操作数据列表是预先根据所述当前数据列表中的所述特征因子执行所述逻辑指令得到的;
计算单元,用于对所述获取的已操作数据列表进行所述计算命令中指示的计算操作。
7.根据权利要求6所述的装置,其特征在于,还包括:
第三获取单元,用于获取所述多于一个的当前数据列表与所述特征因子;
逻辑运算单元,用于按照不同的集合逻辑关系对所述多于一个的当前数据列表进行逻辑运算;
存储单元,用于将逻辑运算后得到的结果作为所述已操作数据列表进行存储。
8.根据权利要求7所述的装置,其特征在于,所述存储单元包括:
命名模块,用于按照生成该已操作数据列表所对应的集合逻辑关系、以及特征因子对所述已操作数据列表进行命名;
存储模块,用于对命名后的所述已操作数据列表进行存储。
9.根据权利要求6所述的装置,其特征在于,所述已操作数据列表存储在缓存服务器中。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述集合逻辑关系包括以下至少之一:交集运算、并集运算、差集运算、以及子集运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210301726.XA CN103631797B (zh) | 2012-08-22 | 2012-08-22 | 用于数据列表的操作方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210301726.XA CN103631797B (zh) | 2012-08-22 | 2012-08-22 | 用于数据列表的操作方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631797A true CN103631797A (zh) | 2014-03-12 |
CN103631797B CN103631797B (zh) | 2017-02-22 |
Family
ID=50212869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210301726.XA Active CN103631797B (zh) | 2012-08-22 | 2012-08-22 | 用于数据列表的操作方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631797B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202162A (zh) * | 2016-06-24 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 一种用于测试推荐房间数据列表的测试系统及方法 |
CN112434048A (zh) * | 2021-01-26 | 2021-03-02 | 湖州市大数据运营有限公司 | 一种数据交叉分析方法、装置、计算机设备和存储介质 |
CN113094031A (zh) * | 2021-03-16 | 2021-07-09 | 上海晓途网络科技有限公司 | 因子生成方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129030A1 (en) * | 2000-12-28 | 2002-09-12 | Lg Electronics Inc. | Method for processing dynamic database in distributed processing system based on corba platform |
CN101876970A (zh) * | 2009-12-22 | 2010-11-03 | 金蝶软件(中国)有限公司 | 一种合并报表方法和装置 |
CN102591863A (zh) * | 2011-01-06 | 2012-07-18 | 上海银晨智能识别科技有限公司 | 比对系统中的数据处理方法及装置 |
-
2012
- 2012-08-22 CN CN201210301726.XA patent/CN103631797B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129030A1 (en) * | 2000-12-28 | 2002-09-12 | Lg Electronics Inc. | Method for processing dynamic database in distributed processing system based on corba platform |
CN101876970A (zh) * | 2009-12-22 | 2010-11-03 | 金蝶软件(中国)有限公司 | 一种合并报表方法和装置 |
CN102591863A (zh) * | 2011-01-06 | 2012-07-18 | 上海银晨智能识别科技有限公司 | 比对系统中的数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
钱立等: "JSP页面数据列表的分页实现", 《四川职业技术学院学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202162A (zh) * | 2016-06-24 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 一种用于测试推荐房间数据列表的测试系统及方法 |
CN106202162B (zh) * | 2016-06-24 | 2019-07-09 | 武汉斗鱼网络科技有限公司 | 一种用于测试推荐房间数据列表的测试系统及方法 |
CN112434048A (zh) * | 2021-01-26 | 2021-03-02 | 湖州市大数据运营有限公司 | 一种数据交叉分析方法、装置、计算机设备和存储介质 |
CN113094031A (zh) * | 2021-03-16 | 2021-07-09 | 上海晓途网络科技有限公司 | 因子生成方法、装置、计算机设备和存储介质 |
CN113094031B (zh) * | 2021-03-16 | 2024-02-20 | 上海晓途网络科技有限公司 | 因子生成方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103631797B (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733681B (zh) | 信息处理方法及装置 | |
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
US11314808B2 (en) | Hybrid flows containing a continous flow | |
CN103064933A (zh) | 数据查询方法及系统 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
CN112527848B (zh) | 基于多数据源的报表数据查询方法、装置、系统及存储介质 | |
CN108415964A (zh) | 数据表查询方法、装置、终端设备及存储介质 | |
CN112269789A (zh) | 存储数据的方法和装置、以及读取数据的方法和装置 | |
CN113051446A (zh) | 拓扑关系查询方法、装置、电子设备和介质 | |
US11132362B2 (en) | Method and system of optimizing database system, electronic device and storage medium | |
CN105224534A (zh) | 一种请求响应的方法及装置 | |
CN105335368A (zh) | 一种产品聚类方法及装置 | |
CN114185895A (zh) | 数据导入导出方法、装置、电子设备及存储介质 | |
CN115408381A (zh) | 数据处理方法及相关设备 | |
CN103631797A (zh) | 用于数据列表的操作方法和装置 | |
CN111611241A (zh) | 一种字典数据操作方法、装置、可读存储介质及终端设备 | |
CN112328658B (zh) | 用户档案数据处理方法、装置、设备及存储介质 | |
CN110609924A (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN113687825A (zh) | 一种软件模块的构建方法、装置、设备及存储介质 | |
CN112580079A (zh) | 权限配置方法、装置、电子设备及可读存储介质 | |
CN104298786B (zh) | 一种图像检索方法及装置 | |
EP2830289A1 (en) | Adaptable reporting in a multi-client telecommunication network | |
CN113656369A (zh) | 一种大数据场景下的日志分布式流式采集及计算方法 | |
CN112800091A (zh) | 一种流批一体式计算控制系统及方法 | |
CN112541645A (zh) | 伴随车辆产品项目开发的数据处理方法、系统及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |