CN108399266A - 数据抽取方法、装置、电子设备及计算机可读存储介质 - Google Patents

数据抽取方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN108399266A
CN108399266A CN201810247760.0A CN201810247760A CN108399266A CN 108399266 A CN108399266 A CN 108399266A CN 201810247760 A CN201810247760 A CN 201810247760A CN 108399266 A CN108399266 A CN 108399266A
Authority
CN
China
Prior art keywords
data
index
parameter
extracted
search section
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
CN201810247760.0A
Other languages
English (en)
Other versions
CN108399266B (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.)
Yidianlingxi Information Technology Guangzhou Co ltd
Original Assignee
Guangzhou I9Game Information 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 Guangzhou I9Game Information Technology Co Ltd filed Critical Guangzhou I9Game Information Technology Co Ltd
Priority to CN201810247760.0A priority Critical patent/CN108399266B/zh
Publication of CN108399266A publication Critical patent/CN108399266A/zh
Application granted granted Critical
Publication of CN108399266B publication Critical patent/CN108399266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

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

Abstract

本发明提供的一种数据抽取方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域。其中,数据抽取方法及装置应用于存储有多个待抽取数据的电子设备,每个所述待抽取数据对应一索引,所述数据抽取方法包括:根据获取的起始索引,生成索引查找区间;从所述索引查找区间中获取一目标索引;抽取与所述目标索引对应的所述待抽取数据作为抽中数据;当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。也就是,根据每次抽取时确定的索引查找区间,在确保随机的同时保障抽到数据的不同,避免了创建数据副本,节约系统资源,提高处理效率。

Description

数据抽取方法、装置、电子设备及计算机可读存储介质
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据抽取方法、装置、电子设备及计算机可读存储介质。
背景技术
随着通信技术的进步,互联网走近人们的生活,并改变着人物的生活方式。随机不重复的数据抽取作为生活中常用的一种抽取机制,在互联网时代,也有了更广泛的应用。例如从一组名单中随机抽取几个不重复的用户作为中奖用户,从几千个汉字中随机抽取几个不相同的汉字等等。
相关技术在互联网产品中实现随机不重复抽取时,通过对已存储数据或其对应的索引随机打乱,再按照预设规则进行选取,从而实现随机不重复抽取。但,由于存储方面的限制,对已存储数据或其对应的索引随机打乱时需要创建数据副本,而在数据量大的情况下,创建数据副本对系统资源的占用大,不仅影响抽取效率,还会直接影响设备的正常运行。
发明内容
本发明实施例提供一种数据抽取方法、装置、电子设备及计算机可读存储介质,以改善上述问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
本发明实施例提供一种数据抽取方法,应用于存储有多个待抽取数据的电子设备,每个所述待抽取数据对应一索引,所述数据抽取方法包括:根据获取的起始索引,生成索引查找区间;从所述索引查找区间中获取一目标索引;抽取与所述目标索引对应的所述待抽取数据作为抽中数据;当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。
本发明实施例提供一种数据抽取装置,应用于存储有多个待抽取数据的电子设备,每个所述待抽取数据对应一索引,所述数据抽取装置包括:生成模块,用于根据获取的起始索引,生成索引查找区间;获取模块,用于从所述索引查找区间中获取一目标索引;抽取模块,用于抽取与所述目标索引对应的所述待抽取数据作为抽中数据;所述生成模块,还用于当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。
本发明实施例提供一种电子设备,所述电子设备包括:存储器;处理器;存储有多个待抽取数据,其中,每个所述待抽取数据对应一索引;以及数据抽取装置,所述装置包括:生成模块,用于根据获取的起始索引,生成索引查找区间;获取模块,用于从所述索引查找区间中获取一目标索引;抽取模块,用于抽取与所述目标索引对应的所述待抽取数据作为抽中数据;所述生成模块,还用于当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据抽取方法的步骤。
与现有技术相比,本发明实施例提供的一种数据抽取方法,先根据获取的起始索引,生成索引查找区间。再从索引查找区间中确定目标索引,并抽取与所述目标索引对应的所述待抽取数据作为抽中数据。并且在抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间,以便进行下一次抽取。也就是,根据每次抽取时确定的索引查找区间,在确保随机的同时保障抽到数据的不同,避免了创建数据副本,节约系统资源,提高处理效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的电子设备的方框示意图。
图2为本发明较佳实施例提供的数据抽取方法的步骤流程图。
图3为图2中步骤S101的子步骤流程图。
图4为本发明实施例示出的一种待抽取数据与索引的示例图。
图5为本发明较佳实施例提供的数据抽取装置的示意图。
图6为图5中的生成模块的功能子模块示意图。
图标:100-电子设备;111-存储器;112-处理器;113-通信单元;200-数据抽取装置;201-生成模块;2011-确定子模块;2012-生成子模块;202-获取模块;203-抽取模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
随机不重复的数据抽取是一种常用的抽取机制。其不仅在线下经常被使用(例如摇奖),也在线上的互联网产品中被广泛使用(例如随机筛选不同的汉字组成验证码)。相关技术中虽已提出了很多在互联网产品中使用的随机不重复抽取算法,但这些算法在面对日益增加的数据量,均存在不足。
例如,采用将数据随机打乱,再取排列在几个数据,从而实现随机不重复抽取的算法,由于原数据已有对应的存储位置,在存储区域中原数据之间的存储顺序也固定。对其打乱本质上是创建与原数据的副本数据,在创建副本数据时,随机排列副本数据之间的顺序,使副本数据之间的顺序与原数据之间的顺序不同。也就是,在实际中无法直接对原数据之间的顺序进行打乱,只能通过创建副本数据的方式实现顺序的随机打乱。在面对大量数据时,创建副本数据对系统资源占用大,影响影响设备的性能,且创建时长还直接影响整个随机不重复抽取的效率。
相关技术中,为了避免创建副本数据,虽然也可以采用直接从原数据中进行数据抽取,但是,由于在进行多次抽取时,若抽到重复数据则重新抽取,使抽取次数难以控制,抽取时长也不可控。
相关技术中,为了避免相同的数据被多次抽中,也可以在每次抽取完成后需要将已被抽取的数据从存储区域内剔除,但剔除数据一方面不能保证原数据的完整性,另一方面,增加抽取时长,不宜适用于使用频繁对时效性要求高的场景(例如不宜应用于生成验证码)。
因此,本发明实施例用于提供一种数据抽取方法、装置、电子设备100及计算机可读存储介质,以改善上述问题。
请参照图1,图1是电子设备100的方框示意图。所述电子设备100包括数据抽取装置200、存储器111、处理器112及通信单元113。
所述存储器111、处理器112及通信单元113各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据抽取装置200包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器111中或固化在所述服务器100的操作系统(Operating System,OS)中的软件功能模块。所述处理器112用于执行所述存储器111中存储的可执行模块,例如所述数据抽取装置200所包括的软件功能模块及计算机程序等。
其中,所述存储器111可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器111用于存储程序或者数据,存储器111还用于存储待抽取数据。上述待抽取数据可以是存储于电子设备100中作为抽取对象的数据。例如,当以汉字作为抽取对象时,则存储于电子设备100内的所有汉字均为待抽取数据;当以账号信息作为抽取对象时,则存储于电子设备100内的所有账号信息均为待抽取数据。
所述通信单元113用于通过所述网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
第一实施例
请参照图2,是本发明较佳实施例提供的一种数据抽取方法。上述数据抽取方法可以包括以下步骤:
步骤S101,根据获取的起始索引,生成索引查找区间。
在本发明实施例中,每一个存储于电子设备100的待抽取数据均对应一索引。索引可以是用于查找待抽取数据的指针信息。可选地,在每一个待抽取数据存储电子设备100时,可以依据该待抽取数据存储位置信息(例如表征存储位置的ID信息)获取其对应的索引。
上述索引查找区间可以是从待抽取数据对应的索引中确定的一索引区间。上述索引查找区间包括起始索引及终止索引。属于索引查找区间之间的索引均为本次抽取过程中具有被选中资格的索引。属于索引查找区间的索引介于起始索引与终止索引之间。进一步地,起始索引与终止索引之间的大小,可以根据预先确定的抽取策略对应。可选地,在采用从索引大的数据开始抽取的抽取策略时,起始索引对应的值可以大于终止索引对应的值,索引查找区间内的索引对应的值从起始索引到终止索引呈递减。可选地,在采用从索引小的数据开始抽取的抽取策略时,起始索引对应的值可以小于终止索引对应的值,索引查找区间内的索引对应的值,从起始索引到终止索引呈递增。例如,待抽取数据对应的索引依次为0、1、2、3、4、5、6、7、8、9,当获取的起始索引为1,依据起始索引确定的索引查找区间为1至7,则该索引查找区间对应的索引分别为1、2、3、4、5、6、7,且7为终止索引;当获取的起始索引为9,依据起始索引确定的索引查找区间为9至5,则该索引查找区间对应的索引分别为9、8、7、6、5,且5为终止索引。
需要说明的是,在一轮抽取过程中,可以通过执行至少一次数据抽取,且在每次数据抽取过程中抽取至少一个待抽取数据作为抽中数据。从而实现从待抽取数据中抽取到满足预设数量的抽中数据。进一步地,在每次数据抽取时均需要依据获取的起始索引确定对应的索引查找区间。在一轮抽取中,无论预先选择起始索引小于终止索引对应的抽取策略,还是预先选择起始索引大于终止索引对应的抽取策略,其原理相同,为了方便描述,在以下的举例中主要以预先选择起始索引小于终止索引所对应的抽取策略进行描述。
作为一种实施方式,在同一轮抽取过程中,若对待抽取数据进行第一次数据抽取时,上述获取的起始索引可以是预设值。预设值可以是预先在电子设备100内设置的索引号,也可以时候用户指定的索引号。若并非对待抽取数据执行第一次数据抽取,上述获取的起始索引可以是根据上一次对待抽取数据抽取时抽中的数据所对应的索引生成。
进一步地,如图3所示,步骤S101可以包括以下子步骤:
子步骤S1011,确定终止索引。
在本发明实施例中,所述终止索引可以依据可抽取的数据及还需抽取的数据的个数确定。上述可抽取的数据不大于所述待抽取数据的个数。
可选地,确定终止索引的方式可以包括:
先获取第一参数及第二参数。需要说明的是,第一参数与可抽取的数据的个数对应。第一参数对应的数值在每次数据抽取前可以根据可抽取的数据的个数更新。第二参数与当前需抽取的数据个数对应,第二参数对应的数值在每次数据抽取前,可以根据当前需抽取的数据个数更新。
需要说明的是,上述可抽取的数据可以是待抽取数据中在确定终止索引之前具备被抽中资质的数据。在一轮抽取过程中,若进行第一次数据抽取时,上述可抽取的数据对应的数值为待抽取数据。若并非进行第一次数据抽取时,可抽取的数据可以依据起始索引确定。可选地,可以是将待抽取数据中索引不小于起始索引的数据作为可抽取的数据。可选地,还可以是将待抽取数据中索引不大于起始索引的数据作为可抽取的数据。上述两种依据起始索引确定可抽取的数据的方式本质上相同,区别在于适用于不同抽取策略。在选择的抽取策略对应的起始索引小于终止索引时,将待抽取数据中索引不小于起始索引的数据作为可抽取的数据。在选择的抽取策略对应的起始索引大于终止索引时,则将待抽取数据中索引不大于起始索引的数据作为可抽取的数据。
作为一种实施方式,获取第一参数,可以根据在上一次数据抽取时对应的可抽取的数据个数及获取的起始索引,利用公式:
left=left1-s,
计算第一参数,其中,left代表第一参数,s代表起始索引,left1代表在上一次数据抽取时对应的第一参数值。
作为一种实施方式,在一轮抽取过程,若是第一次数据抽取时,上述第二参数对应的值为本轮抽取过程中需要从待抽取数据中抽取的数据的总数量。例如,本轮抽取过程需要从待抽取数据中抽取3个数据,在第一次数据抽取时,对应的第二参数为3。若并非第一次数据抽取,且每次仅抽取一个数据时,上述第二参数对应的值可以根据上一次数据抽取时第二参数,利用公式:
sum=sum1-1,
计算第二参数对应的值,其中sum代表本次数据抽取对应的第二参数,sum1代表上次数据抽取对应的第二参数。接上例,在进行第二次数据抽取时,对应的第二参数的值为2。在进行第三次数据抽取时,对应的第二参数的值为1。
进一步地,再根据第一参数及第二参数,确定所述索引查找区间的终止索引。
在本发明实施例中,当第一次进行数据抽取且所述第一参数和第二参数之间满足sum≤log2left时,根据所述待抽取数据的个数、第二参数及默认值,确定所述索引查找区间的终止索引,其中,所述sum代表第二参数,所述left代表第一参数。优选地,上述默认值可以是待抽取数据中对应值最小的索引,也可以是待抽取数据中对应值最大的索引。
具体地,根据待抽取数据的个数、第二参数及默认值,利用公式:
计算对应的终止索引,其中,p代表终止索引,n为所述待抽取数据的个数,c1为默认值。
当不是第一次进行数据抽取且所述第一参数和第二参数之间满足sum≤log2left时,根据所述待抽取数据的个数、第二参数及前一次数据抽取时抽中的数据对应的索引,确定所述索引查找区间的终止索引。
具体地,根据待抽取数据的个数、第二参数及前一次数据抽取时抽中的数据对应的索引,利用公式:
计算对应的终止索引,其中,p代表终止索引,n为所述待抽取数据的个数,c2为前一次数据抽取时抽中的数据对应的索引。
当所述第一参数和第二参数满足sum>log2left时,根据所述起始索引、第一参数及第二参数,确定所述索引查找区间的终止索引,其中,所述sum代表第二参数,所述left代表第一参数。
具体地,根据本次数据抽取对应的起始索引、第一参数及第二参数,利用公式:
计算对应的终止索引,其中,p代表终止索引,s代表起始索引,sum代表第二参数,left代表第一参数。
需要说明的是,采用该方式获取终止索引可以得到一个最佳的索引查找区间,避免确定的索引查找区间对应的待抽取数据不足,影响正常的抽取过程。作为一种可能的实施方式,也可以是随机从大于起始索引的索引中确定一个终止索引。
子步骤S1012,根据所述起始索引和所述终止索引,生成索引查找区间。
在本发明实施例中,电子设备100内存储的待抽取数据对应的索引均为连续且依次递增,根据获得的起始索引和所述终止索引,生成索引查找区间。使属于索引查找区间的索引介于起始索引与终止索引之间。
步骤S102,从索引查找区间中获取一目标索引。
在本发明实施例中,上述目标索引属于索引查找区间。目标索引可以是从属于索引查找区间的索引中随机获取的。作为一种实施方式,可以生成一随机数,根据所述随机数、所述索引查找区间对应的所述起始索引及所述终止索引,计算所述目标索引。具体地,上述随机数可以通过利用时间戳随机生成,也可以是利用预先设置的随机函数生成一随机数。进一步地,利用随机数、索引查找区间对应的起始索引及终止索引,计算所述目标索引的方式可以是,根据随机数、索引查找区间对应的起始索引及终止索引,利用公式:
c=x%(p-s+1)+s,
计算对应的目标索引,x代表随机数,c代表目标索引,p代表终止索引,s代表起始索引,x%(p-s+1)代表取x与(p-s+1)的余。
步骤S103,抽取与目标索引对应的所述待抽取数据作为抽中数据。
在本发明实施例中,可以是基于目标索引对索引属于索引查找区间的待抽取数据进行遍历,以查找到对应的待抽取数据,并将其作为抽中数据。从而加快抽取速度。作为一种实施方式,预先创建一存储抽中数据的数组队列,利用目标索引从电子设备100中存储的待抽取数据中查找到对应的数据后,将其写入用于存储抽中数据的数组队列中,作为抽中数据。
步骤S104,当抽中数据的数量未满足预设数量时,依据目标索引重新确定索引查找区间。
在本发明实施例中,依据目标索引获取下次数据抽取对应的起始索引、第一参数及第二参数。再基于起始索引、第一参数及第二参数重新确认一索引查找区间。在本发明实施例中,重新确认索引查找区间方式与步骤S101大致相同,为了方便描述,在此不再赘述。
作为一种实施方式,获取下次数据抽取对应的起始索引的方式可以是在选择的抽取策略对应的起始索引小于终止索引时,将起始索引增大到超过目标索引,例如,将起始索引在目标索引的基础上加一。在选择的抽取策略对应的起始索引大于终止索引时,则将起始索引减小,以使起始索引小于目标索引,例如,将起始索引在目标索引的基础上减一。
作为一种实施方式,获取下次数据抽取对应的第一参数的方式可以是:根据本次数据抽取时对应的可抽取的数据个数及获取的起始索引,利用公式:
left=left1-s,
计算第一参数,其中,left代表下次数据抽取对应的第一参数,s代表本次数据抽取时对应的起始索引,left1代表本次数据抽取时对应的第一参数值。
作为一种实施方式,获取下次数据抽取对应的第二参数的方式可以是:根据本次数据抽取时第二参数,利用公式:
sum=sum1-1,
计算下次数据抽取对应的第二参数对应的值,其中sum代表下次数据抽取对应的第二参数,sum1代表本次数据抽取对应的第二参数。
步骤S105,从重新确定的索引查找区间中获取一目标索引。
步骤S106,根据从所述重新确定的索引查找区间中获取的目标索引,抽取对应的所述待抽取数据作为所述抽中数据。
在本发明实施例中,步骤S105和步骤S106分别与步骤S102和步骤S103大致相同,为了方便描述,在此不再赘述。
步骤S107,判断在本轮抽取中获得的抽中数据的数量是否满足预设数量。
在本发明实施例中,若在本轮抽取中获得的抽中数据的数量达到预设数量,则结束流程;若在本轮抽取中获得的抽中数据的数量未达到预设数量,流程回到步骤S104,重复依据从所述重新确定的索引查找区间中获取的目标索引确定所述索引查找区间。
作为另一种可能的实施方式,在流程进入步骤S101之前,所述方法还包括比较待抽取数据的个数与本轮抽取中需要从待抽取数据中抽取的数据的总数量。当比较待抽取数据的个数等于需要从待抽取数据中抽取的数据的总数量时,将所有待抽取数据均作为抽中数据,并结束流程。
下面以如图4所示的多个汉字作为待抽取数据作为示例,对本发明实施例提供的数据抽取方法进行描述:
如图4所示,存储于电子设备100的汉字“你”、“我”、“他”、“是”、“借”、“入”、“了”、“那”、“就”、“发”作为待抽取数据,其对应的索引分别为0、1、2、3、4、5、6、7、8、9。在本轮汉字抽取中需从其中随机不重复抽取两个数,预设值为0,默认值为0。在本轮抽取中选择的抽取策略对应的起始索引小于终止索引,在进行第一次汉字抽取时,获取到的起始索引为0、第一参数为10及第二参数为2。由于2≤log210,基于待抽取数据的个数、第二参数及默认值,确定所述索引查找区间的终止索引,利用公式计算得终止索引为5,其中,c1为默认值0,n为待抽取数据的个数10。确定索引查找区间为0~5。再利用预先设置的随机函数获得一随机数为2,利用公式c=x%(p-s+1)+s,计算得目标索引为2,其中,x为随机数2,p为终止索引5,s为起始索引0。将依据目标索引查找到待抽取数据“他”,将“他”作为抽中数据放入用于存储抽中数据的数组队列。由于此时,还需抽取1个汉字,需要进行第二次汉字抽取。因此,需依据目标索引重新确定索引查找区间。具体地,先确定第二抽取对应的第二参数为1。依据第一次抽取时对应的目标索引2,确定第二次抽取对应的起始索引为3,利用公式:left=left1-s,计算第二次抽取对应的第一参数为7,其中left1为第一次抽取时对应的第一参数10,s为第二抽取对应的起始索引3。此时,由于1≤log27,利用计算得第二次抽取对应的终止索引为6,c2为默认值2,n为待抽取数据的个数10。重新确定的索引查找区间为3~6,再利用预先设置的随机函数获得一随机数为2,利用公式c=x%(p-s+1)+s,计算得目标索引为5,其中,x为随机数2,p为终止索引6,s为起始索引3。将依据目标索引查找到待抽取数据“入”,将“入”作为抽中数据放入用于存储抽中数据的数组队列,从而完成两个汉字的抽取,流程结束。
第二实施例
请参照图5,是本发明较佳实施例提供的数据抽取装置200,数据抽取装置200包括:生成模块201、获取模块202及抽取模块203。
生成模块201,用于根据获取的起始索引,生成索引查找区间。
在本发明实施例中,所述步骤S101可以由生成模块201执行。如图6所示,生成模块201包括:
确定子模块2011,用于确定终止索引。
在本发明实施例中,所述子步骤S1011可以由确定子模块2011。可选地,获取第一参数及第二参数,其中所述第一参数与可抽取的数据的个数对应,所述第二参数与当前需抽取的数据个数对应,其中所述可抽取的数据不大于待抽取数据的个数。根据所述第一参数及第二参数,确定所述索引查找区间的终止索引。具体地,当第一次进行数据抽取且所述第一参数和第二参数之间满足sum≤log2left时,根据所述待抽取数据的个数、第二参数及默认值,确定所述索引查找区间的终止索引;其中,所述sum代表第二参数,所述left代表第一参数。当不是第一次进行数据抽取且所述第一参数和第二参数之间满足sum≤log2left时,根据所述待抽取数据的个数、第二参数及前一次数据抽取时获取的所述目标索引,确定所述索引查找区间的终止索引。当所述第一参数和第二参数满足sum>log2left时,根据所述起始索引、第一参数及第二参数,确定所述索引查找区间的终止索引,其中,所述sum代表第二参数,所述left代表第一参数。
生成子模块2012,用于根据所述起始索引和所述终止索引,生成索引查找区间。
在本发明实施例中,所述子步骤S1012可以由生成子模块2012。
获取模块202,用于从所述索引查找区间中获取一目标索引。
在本发明实施例中,所述步骤S102可以由获取模块202执行。
抽取模块203,用于抽取与所述目标索引对应的所述待抽取数据作为抽中数据。
在本发明实施例中,所述步骤S103可以由抽取模块203执行。
所述生成模块201,还用于当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。
在本发明实施例中,所述步骤S104可以由生成模块201执行。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现前述实施例中涉及的数据抽取方法的步骤。
综上所述,本发明实施例提供的一种数据抽取方法、装置、电子设备及计算机可读存储介质。其中,数据抽取方法及装置应用于存储有多个待抽取数据的电子设备,每个所述待抽取数据对应一索引,所述数据抽取方法包括:根据获取的起始索引,生成索引查找区间;从所述索引查找区间中获取一目标索引;抽取与所述目标索引对应的所述待抽取数据作为抽中数据;当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。也就是,根据每次抽取时确定的索引查找区间,在确保随机的同时保障抽到数据的不同,避免了创建数据副本,节约系统资源,提高处理效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (14)

1.一种数据抽取方法,应用于存储有多个待抽取数据的电子设备,每个所述待抽取数据对应一索引,其特征在于,所述数据抽取方法包括:
根据获取的起始索引,生成索引查找区间;
从所述索引查找区间中获取一目标索引;
抽取与所述目标索引对应的所述待抽取数据作为抽中数据;
当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。
2.如权利要求1所述的数据抽取方法,其特征在于,所述根据获取的起始索引,生成索引查找区间的步骤包括:
确定终止索引;
根据所述起始索引和所述终止索引,生成索引查找区间。
3.如权利要求2所述的数据抽取方法,其特征在于,所述确定终止索引的步骤包括:
获取第一参数及第二参数,其中所述第一参数与可抽取的数据的个数对应,所述第二参数与当前需抽取的数据个数对应;其中所述可抽取的数据不大于所述待抽取数据的个数;
根据所述第一参数及第二参数,确定所述索引查找区间的终止索引。
4.如权利要求3所述的数据抽取方法,其特征在于,所述根据所述第一参数及第二参数,确定所述索引查找区间的终止索引的步骤包括:
当第一次进行数据抽取且所述第一参数和第二参数之间满足sum≤log2left时,根据所述待抽取数据的个数、第二参数及默认值,确定所述索引查找区间的终止索引;其中,所述sum代表第二参数,所述left代表第一参数;
当不是第一次进行数据抽取且所述第一参数和第二参数之间满足sum≤log2left时,根据所述待抽取数据的个数、第二参数及前一次数据抽取时获取的所述目标索引,确定所述索引查找区间的终止索引。
5.如权利要求3所述的数据抽取方法,其特征在于,所述根据所述第一参数及第二参数,确定所述索引查找区间的终止索引的步骤包括:
当所述第一参数和第二参数满足sum>log2left时,根据所述起始索引、第一参数及第二参数,确定所述索引查找区间的终止索引,其中,所述sum代表第二参数,所述left代表第一参数。
6.如权利要求2所述的数据抽取方法,其特征在于,所述从所述索引查找区间中获取一目标索引的步骤包括:
生成一随机数;
根据所述随机数、所述索引查找区间对应的所述起始索引及所述终止索引,计算所述目标索引。
7.如权利要求1所述的数据抽取方法,其特征在于,所述数据抽取方法还包括:
从重新确定的索引查找区间中获取一目标索引;
根据从所述重新确定的索引查找区间中获取的目标索引,抽取对应的所述待抽取数据作为所述抽中数据;
重复依据从所述重新确定的索引查找区间中获取的目标索引确定所述索引查找区间,直至所述抽中数据的数量满足预设数量。
8.一种数据抽取装置,应用于存储有多个待抽取数据的电子设备,每个所述待抽取数据对应一索引,其特征在于,所述数据抽取装置包括:
生成模块,用于根据获取的起始索引,生成索引查找区间;
获取模块,用于从所述索引查找区间中获取一目标索引;
抽取模块,用于抽取与所述目标索引对应的所述待抽取数据作为抽中数据;
所述生成模块,还用于当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。
9.如权利要求8所述的数据抽取装置,其特征在于,所述生成模块包括:
确定子模块,用于确定终止索引;
生成子模块,用于根据所述起始索引和所述终止索引,生成索引查找区间。
10.如权利要求9所述的数据抽取装置,其特征在于,所述确定子模块执行确定终止索引的方式包括:
获取第一参数及第二参数,其中所述第一参数与可抽取的数据的个数对应,所述第二参数与当前需抽取的数据个数对应;其中所述可抽取的数据不大于所述待抽取数据的个数;
根据所述第一参数及第二参数,确定所述索引查找区间的终止索引。
11.如权利要求10所述的数据抽取装置,其特征在于,所述确定子模块还包括:
当第一次进行数据抽取且所述第一参数和第二参数之间满足sum≤log2left时,根据所述待抽取数据的个数、第二参数及默认值,确定所述索引查找区间的终止索引;其中,所述sum代表第二参数,所述left代表第一参数;
当不是第一次进行数据抽取且所述第一参数和第二参数之间满足sum≤log2left时,根据所述待抽取数据的个数、第二参数及前一次数据抽取时获取的所述目标索引,确定所述索引查找区间的终止索引。
12.如权利要求10所述的数据抽取装置,其特征在于,所述确定子模块还包括:
当所述第一参数和第二参数满足sum>log2left时,根据所述起始索引、第一参数及第二参数,确定所述索引查找区间的终止索引,其中,所述sum代表第二参数,所述left代表第一参数。
13.一种电子设备,其特征在于,所述电子设备包括:
存储器;
处理器;
存储有多个待抽取数据,其中,每个所述待抽取数据对应一索引;
以及数据抽取装置,所述装置包括:
生成模块,用于根据获取的起始索引,生成索引查找区间;
获取模块,用于从所述索引查找区间中获取一目标索引;
抽取模块,用于抽取与所述目标索引对应的所述待抽取数据作为抽中数据;
所述生成模块,还用于当所述抽中数据的数量未满足预设数量时,依据所述目标索引重新确定所述索引查找区间。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
所述计算机程序被处理器执行时实现权利要求1至7中任一项所述数据抽取方法的步骤。
CN201810247760.0A 2018-03-23 2018-03-23 数据抽取方法、装置、电子设备及计算机可读存储介质 Active CN108399266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810247760.0A CN108399266B (zh) 2018-03-23 2018-03-23 数据抽取方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810247760.0A CN108399266B (zh) 2018-03-23 2018-03-23 数据抽取方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108399266A true CN108399266A (zh) 2018-08-14
CN108399266B CN108399266B (zh) 2022-01-07

Family

ID=63092963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810247760.0A Active CN108399266B (zh) 2018-03-23 2018-03-23 数据抽取方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108399266B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515980A (zh) * 2019-07-17 2019-11-29 金蝶软件(中国)有限公司 抽检方法、装置、计算机设备和存储介质
CN111311041A (zh) * 2018-12-12 2020-06-19 马上消费金融股份有限公司 一种数据抽取方法及设备和相关装置
CN111506790A (zh) * 2020-04-09 2020-08-07 携程计算机技术(上海)有限公司 抽取对象确定及数据刷新方法、系统、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929967A (zh) * 2012-10-12 2013-02-13 深圳市华阳信通科技发展有限公司 随机数生成、存储和搜索的系统及方法
CN102945184A (zh) * 2012-11-15 2013-02-27 江苏凌创电气自动化股份有限公司 一种组态控制窗数据的实现方法
WO2013108745A1 (ja) * 2012-01-16 2013-07-25 日本電気株式会社 ストレージ装置、その制御方法、及びプログラム
US20140089601A1 (en) * 2011-12-13 2014-03-27 International Business Machines Corporation Managing a region cache
CN105653654A (zh) * 2015-12-28 2016-06-08 上海瀚之友信息技术服务有限公司 一种抽奖资格索引系统及方法
CN106874447A (zh) * 2017-02-10 2017-06-20 东软集团股份有限公司 一种数据展示方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089601A1 (en) * 2011-12-13 2014-03-27 International Business Machines Corporation Managing a region cache
WO2013108745A1 (ja) * 2012-01-16 2013-07-25 日本電気株式会社 ストレージ装置、その制御方法、及びプログラム
CN102929967A (zh) * 2012-10-12 2013-02-13 深圳市华阳信通科技发展有限公司 随机数生成、存储和搜索的系统及方法
CN102945184A (zh) * 2012-11-15 2013-02-27 江苏凌创电气自动化股份有限公司 一种组态控制窗数据的实现方法
CN105653654A (zh) * 2015-12-28 2016-06-08 上海瀚之友信息技术服务有限公司 一种抽奖资格索引系统及方法
CN106874447A (zh) * 2017-02-10 2017-06-20 东软集团股份有限公司 一种数据展示方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张立忠等: "基于双向循环链表的分段随机组卷算法", 《电脑知识与技术》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111311041A (zh) * 2018-12-12 2020-06-19 马上消费金融股份有限公司 一种数据抽取方法及设备和相关装置
CN111311041B (zh) * 2018-12-12 2024-02-20 马上消费金融股份有限公司 一种数据抽取方法及设备和相关装置
CN110515980A (zh) * 2019-07-17 2019-11-29 金蝶软件(中国)有限公司 抽检方法、装置、计算机设备和存储介质
CN111506790A (zh) * 2020-04-09 2020-08-07 携程计算机技术(上海)有限公司 抽取对象确定及数据刷新方法、系统、设备和存储介质
CN111506790B (zh) * 2020-04-09 2024-03-22 携程计算机技术(上海)有限公司 抽取对象确定及数据刷新方法、系统、设备和存储介质

Also Published As

Publication number Publication date
CN108399266B (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
CN108197285A (zh) 一种数据推荐方法以及装置
CN107230008B (zh) 一种风险信息输出、风险信息构建方法及装置
CN106127505A (zh) 一种刷单识别方法及装置
CN107153847A (zh) 预测用户是否存在恶意行为的方法和计算设备
CN103902729A (zh) 一种应用程序推荐的方法及装置
CN108399266A (zh) 数据抽取方法、装置、电子设备及计算机可读存储介质
CN106372977B (zh) 一种虚拟账户的处理方法和设备
CN104753909B (zh) 信息更新后的鉴权方法、装置及系统
CN107402804B (zh) 后台进程管控方法、装置、存储介质及电子设备
CN110135850A (zh) 一种信息处理方法和相关装置
CN109194689A (zh) 异常行为识别方法、装置、服务器及存储介质
CN106227483B (zh) 一种显示控制方法及移动终端
CN108776678A (zh) 基于移动端NoSQL数据库的索引创建方法及装置
CN112784112A (zh) 报文校验方法及装置
CN106161389B (zh) 一种作弊识别方法、装置及终端
CN113791837B (zh) 页面处理方法、装置、设备和存储介质
CN109542612A (zh) 一种热点关键字获取方法、装置及服务器
CN110516713A (zh) 一种目标群体识别方法、装置及设备
CN107623696A (zh) 一种基于用户行为特征的用户身份验证方法及装置
CN106257449A (zh) 一种信息确定方法和装置
CN109948038A (zh) 问题推送方法及装置
CN103605480B (zh) Web服务器及其磁盘资源访问控制方法
CN106202374A (zh) 一种数据处理方法及装置
CN109582834A (zh) 数据风险预测方法及装置
CN108833143A (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
TA01 Transfer of patent application right

Effective date of registration: 20200526

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510000 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 13 layer self unit 02 (only for office use)

Applicant before: GUANGZHOU AIJIUYOU INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220318

Address after: 510520 room 603, room 602, No. 38, Gaopu Road, Tianhe District, Guangzhou, Guangdong

Patentee after: Guangzhou Jianyue Information Technology Co.,Ltd.

Address before: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Alibaba (China) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220915

Address after: 510277 room 3701, No. 88, Dingxin Road, Haizhu District, Guangzhou City, Guangdong Province

Patentee after: Yidianlingxi information technology (Guangzhou) Co.,Ltd.

Address before: 510520 room 603, room 602, No. 38, Gaopu Road, Tianhe District, Guangzhou, Guangdong

Patentee before: Guangzhou Jianyue Information Technology Co.,Ltd.

TR01 Transfer of patent right