CN111367979A - 一种数据收集方法和系统 - Google Patents

一种数据收集方法和系统 Download PDF

Info

Publication number
CN111367979A
CN111367979A CN202010145527.9A CN202010145527A CN111367979A CN 111367979 A CN111367979 A CN 111367979A CN 202010145527 A CN202010145527 A CN 202010145527A CN 111367979 A CN111367979 A CN 111367979A
Authority
CN
China
Prior art keywords
user data
data
storage
storage space
cached
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
CN202010145527.9A
Other languages
English (en)
Other versions
CN111367979B (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.)
Guangzhou Quick Decision Information Technology Co ltd
Original Assignee
Guangzhou Quick Decision 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 Quick Decision Information Technology Co ltd filed Critical Guangzhou Quick Decision Information Technology Co ltd
Priority to CN202010145527.9A priority Critical patent/CN111367979B/zh
Publication of CN111367979A publication Critical patent/CN111367979A/zh
Priority to EP21765132.2A priority patent/EP3951610A4/en
Priority to US17/606,954 priority patent/US11960497B2/en
Priority to TW110107986A priority patent/TWI781547B/zh
Priority to PCT/CN2021/079183 priority patent/WO2021175301A1/zh
Application granted granted Critical
Publication of CN111367979B publication Critical patent/CN111367979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • 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
    • G06F16/275Synchronous replication

Landscapes

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

Abstract

本申请实施例公开了一种数据收集方法。所述方法包括:采集端可以接收至少一个用户数据,并可以将用户数据发送给存储端。存储端可以将接收到的用户数据缓存至一个或多个第一存储空间,并可以将缓存完成的用户数据同步到数据仓库,数据仓库用于存储用户数据。存储端可以将常用用户数据同步到第二存储空间,第二存储空间用于查询常用用户数据;常用用户数据是指数据仓库中读取频率大于预设阈值的用户数据。本申请实施例公开的方法,在高并发场景下,可以及时上传用户数据,用户数据不易丢失,通过数据仓库可以存储海量用户数据。

Description

一种数据收集方法和系统
技术领域
本申请涉及数据处理领域,特别涉及一种数据收集方法、系统、装置以及可读存储介质。
背景技术
近年来,随着市场需求的不断变化,问卷调查成为许多经营者获取市场需求从而进行决策的一种常见行为。问卷调查根据载体的不同,可分为纸质问卷调查和网络问卷调查,网络问卷调查通过用户在客户端填写问卷答案,然后服务端回收答题并进行分析。
然而,随着网络问卷的流行,经营者在收集网络问卷时发现,现有的数据收集方法在需要短时间内收集大量网络问卷时存在数据丢失及数据收集慢的问题。因此,有必要提供一种数据收集方法及系统,以减少数据丢失的现象,提高数据收集效率和容错性。
发明内容
本申请实施例的一个方面提供一种数据收集方法。所述数据收集方法包括:采集端可以接收至少一个用户数据,并将所述用户数据发送给存储端。所述存储端可以将接收到的所述用户数据缓存至一个或多个第一存储空间,并将缓存完成的所述用户数据同步到数据仓库,所述数据仓库可以用于存储所述用户数据。所述存储端可以将常用用户数据同步到第二存储空间,所述第二存储空间可以用于查询所述常用用户数据。所述常用用户数据可以是指所述数据仓库中读取频率大于预设阈值的用户数据。
本申请实施例的另一个方面提供一种数据收集系统。所述系统包括:采集端,可以用于接收至少一个用户数据,并将所述用户数据发送给存储端。存储端,可以用于将接收到的所述用户数据缓存至一个或多个第一存储空间,并将缓存完成的所述用户数据同步到数据仓库,所述数据仓库用于存储所述用户数据;可以用于将常用用户数据同步到第二存储空间,所述第二存储空间用于查询所述常用用户数据;所述常用用户数据是可以指所述数据仓库中读取频率大于预设阈值的用户数据。
本申请实施例的另一个方面提供一种数据收集装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述指令被所述处理器执行时,导致所述装置实现数据收集方法。
本申请实施例的另一个方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行数据收集方法。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请一些实施例所示的数据收集系统的示例性应用场景图;
图2是根据本申请一些实施例所示的数据收集方法的示例性流程图;
图3是根据本申请一些实施例所示的缓存用户数据至第一存储空间的示例性流程图;
图4是根据本申请的一些实施例所示的数据收集系统的模块图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本申请一些实施例所示的数据收集系统的示例性应用场景图。
数据收集系统100可以用于解决企业在进行问卷调研时,可能出现的在收集用户答卷时,用户数据收集缓慢与丢失的问题。数据收集系统100可以是用于互联网服务的线上服务平台。例如,数据收集系统100可以用于线上的问卷调研平台,可以在线收集用户数据。
数据收集系统100可以包括服务器110、处理设备112、网络120、用户终端130、存储设备140和采集端150。服务器110可以包含处理设备112。
服务器110可以处理来自本系统至少一个组件或外部数据源(例如,采集端150或存储设备140)的数据和/或信息。在一些实施例中,服务器110可以是一台单独的服务器,可以是多台服务器组成的计算平台,多台服务器群可以是集中式的或分布式的,可以是专用的也可以由其他设备或系统同时提供服务。
在一些实施例中,服务器110可包含处理设备112。该处理设备112可处理与数据收集系统100相关的数据和/或信息以执行一个或多个本申请中描述的功能。例如处理设备112向采集端150发送指令,使采集端150接收至少一个用户数据,并将用户数据发送给存储设备140。在一些实施例中,处理设备112可包含一个或多个子处理设备(例如,单芯处理设备或多核多芯处理设备)。仅仅作为范例,处理设备112可包含中央处理器(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或以上任意组合。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
网络120连接系统的各组成部分,使得各部分之间可以进行通讯。在一些实施例中,通过数据收集系统100中的一个或多个组件(例如,服务器110、用户终端130、存储设备140、采集端150)可通过网络120发送数据和/或信息给数据收集系统100中的其他组件。在系统中各部分之间的网络可以是有线网络或无线网络中的任意一种或多种。例如,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。在一些实施例中,网络120可包括一个或多个网络进出点。例如,网络120可包含有线或无线网络进出点,如基站和/或网际网络交换点120-1、120-2、…,通过这些进出点,数据收集系统100的一个或多个组件可连接到网络120上以交换数据和/或信息。
用户终端130是用户(例如,调研问卷的受访者等)所使用的一个或多个用于反馈数据(例如,调研题目的一个或多个回答)终端设备或软件,可包括手机130-1、平板电脑130-2、笔记本电脑130-3等中的一种或其任意组合。在一些实施例中,用户终端主要用于用户进行在线问卷答题。在一些实施例中,使用用户终端130的可以是一个或多个用户,可以包括直接使用服务的用户,也可以包括其他相关用户。在一些实施例中,用户终端130可以将反馈(即答题)的数据发送到服务器110,服务器110再将所述数据发送给存储设备。在一些实施例中,用户终端130可以包括各类具有信息接收和/或发送功能的设备。例如,可以是计算机,可以是智能手机,可以是车载终端设备。上述示例仅用于说明所述设备范围的广泛性而非对其范围的限制。
存储设备140可以存储数据和/或指令。存储设备140可以包括一个或多个存储组件,每个存储组件可以是一个独立的设备,也可以是其他设备的一部分。例如,存储设备140可以包括第一存储空间、数据仓库和第二存储空间,第一存储空间、数据仓库以及第二存储空间可以分别位于不同的设备中,也可以是同一个设备的一部分。存储设备140可以用于为数据收集系统100提供其他信息的来源。存储设备140可以用于为数据收集系统100提供与服务相关的信息。例如,在线答题的人数、用户在线答题的时长、用户输入的文字字数等。又例如,存储设备140还可以包括在线答题的用户信息、历史回答等,该用户信息可以包括用户的姓名、用户的年龄、用户的职位等。存储设备140可以在单个中央服务器、通过通信链路连接的多个服务器或多个个人设备中实现。存储设备140可以由多个个人设备和云服务器生成。在一些实施例中,存储设备140可存储从用户终端130反馈的数据,例如,受访者对于调研题目的回答。在一些实施例中,存储设备140可存储供服务器110执行或使用的信息和/或指令,以执行本申请中描述的示例性方法。在一些实施例中,存储设备140可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。在一些实施例中,存储设备140可在云平台上实现。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等或以上任意组合。在一些实施例中,存储设备140可以是服务器110的一部分。
在一些实施例中,采集端150可以是用于接收用户数据、发送用户数据的终端,例如,可以是用于用户接收调研问卷、答题、反馈调研问卷的终端设备。在一些实施例中,采集端150还可以是对接收到的反馈数据进行处理的终端,例如,对受访者针对调研题目回答后的用户数据进行加密的设备终端。采集端150可以包括手机、平板电脑、笔记本电脑等中的一种或其任意组合。
应该注意的是,关于应用场景的描述出于说明性目的,并不用于限制本申请的保护范围。对于本领域的技术人员来说,可以在本申请的指示下做出多个变体和修改。然而,这些变体和修改不会脱离本申请的保护范围。
图2是根据本申请一些实施例所示的数据收集方法的示例性流程图。如图2所示,流程200可以包括:
步骤202,接收至少一个用户数据,并将所述用户数据发送给存储端。具体的,步骤202可以由采集端410执行。
在一些实施例中,用户数据可以包括任何形式的数据,例如,文档、文字、字母、数字、图片、语音、视频、二维码以及各种程序代码等。在一些实施例中,采集端可以具备多个功能。在一些实施例中,采集端可以根据应用场景的不同,具备相应的功能。例如,采集端可以应用于问卷调研的场景,相应地,采集端可以具备接收、处理以及发送调研问卷的功能。用户数据可以是用户答题完成后的调研问卷。采集端可以通过网络(例如,网络120)将用户数据发送给存储端。
在一些实施例中,存储端可以用于接收、存储、处理以及发送用户数据等。例如,存储端可以从采集端接收调研问卷,并对调研问卷进行处理(例如,加密、解密、拆分、合并、计算、分析等)。存储端可以包括一个或多个设备,例如,存储端可以是一台或多台服务器,每台服务器都可以对用户数据进行存储。各台服务器之间可以相互发送/接收用户数据。
在一些实施例中,采集端在接收到所述用户数据之后,可以对所述用户数据进行处理,例如,对用户数据进行加密。加密方式可以包括令牌(token)加密、公开密钥加密技术、数字证书、对称加密、非对称加密等其中的一种或其组合。在一些实施例中,采集端可以选择令牌加密的方式对用户数据进行加密。加密用的令牌可以采用多种方式生成,作为示例,可以采用下文所示的方式生成令牌。
在一些实施例中,可以先进行请求参数排序,对除签名外的所有请求参数按关键字(key)做升序排列,请求参数的值(value)无需编码。例如,假设当前时间的时间戳是157363833,有c=3,b=2,a=1三个参数,加上时间戳后,按key做升序排序后为:a=1,b=2,c=3,_timestamp=1573638336。然后,可以使用字符串拼接把参数关键字和参数值连接成字符串,得到拼装字符:a1b2c3_timestamp1573638336。最后,可以申请一个appkey,appkey可以用于连接到接拼装字符串头部和尾部,拼装后进行32位MD5加密,最后将到得MD5加密摘要转化成大写。假设appkey=test,md5(testa1b2c3_timestamp1573638336test),以此最后得到的令牌值为取得MD5的摘要值C5F3EB5D7DC2748AED89E90AF00081E6。
在一些实施例中,存储端在对所述用户数据进行缓存之前,可以先对加密的所述用户数据进行解密。存储端可以根据用户数据的加密方式选择相应的解密方式对用户数据进行解密。例如,以令牌加密为例,存储端可以在接收到用户数据后,可以采用与生成的令牌值对应的算法对用户数据进行解密,得到用户数据的明文。再例如,采集端可以使用公钥对用户数据进行加密,存储端可以使用相应的私钥对加密的用户数据进行解密,得到用户数据的明文。
步骤204,将接收到的所述用户数据缓存至一个或多个第一存储空间,并将缓存完成的所述用户数据同步到数据仓库。具体的,步骤204可以由存储端420执行。
在一些实施例中,第一存储空间可以是存储端的内存空间。例如,第一存储空间可以是存储端的服务器(例如,服务器110)的内存空间。内存具有高速的写入/读取速度,即使是在面对大量用户数据的情况下,依然可以将接收到的用户数据快速地缓存完毕。存储端可以是一个或多个服务器,相应地,在存储端为多个服务器时,其可以相应的拥有多个第一存储空间(服务器内存),可以将用户数据缓存至多个第一存储空间。用户数据可以并行或非并行的缓存至多个第一存储空间,例如,在大数据情况下,可以将用户数据并行缓存至多个第一存储空间,并行缓存可以有效地提高缓存效率;在数据量相对较小时,可以将用户数据缓存至一个存储空间或将用户数据依次缓存至多个第一存储空间,从而可以减少服务器的运行负担。
在一些实施例中,第一存储空间可以包含主库和至少一个从库,从库可以对主库缓存的用户数据进行备份。例如,存储端在将接收的用户数据存储至第一存储空间的主库同时,可以将用户数据备份至一个或多个从库;也可以在将用户数据缓存至作为主库的第一存储空间后,从主库中备份用户数据至一个或多个从库。
在一些实施例中,可以将所述主库或者从库中缓存完成的用户数据同步到所述数据仓库。在用户数据缓存完成后,可以采用队列的方式将用户数据从第一存储空间同步至数据仓库。例如,可以将第一存储空间中的用户数据放入同步队列中,再使用脚本自动将同步队列中的用户数据同步到数据仓库。使用队列的方式对用户数据进行同步,第一存储空间中的用户数据在放入到队列后,后续即可以不用参与数据同步过程,数据仓库可以直接到队列中读取用户数据,从而可以更加便捷的将用户数据从第一存储空间同步到数据仓库。
在一些实施例中,可以判断用户数据是否同步成功,如果未成功,则可以对未被同步的库中缓存完成的用户数据进行再次同步。在一些实施例中,可以通过监听同步过程来判断是否同步成功。例如,可以通过监听器来监听用户数据是否同步成功。如果监听到同步失败,则可以向用户预警,通知用户及时处理。预警方式可以包括文字预警、语音预警、弹窗预警等。在一些实施例中,未被同步的库可以是指未对其缓存的用户数据进行同步的库(例如,主库和/或从库)。例如,在当前是从主库中同步用户数据时,从库中的用户数据可以作为备份,可以不对从库中缓存的用户数据进行同步。在从主库中同步用户数据失败时,为了能够快速恢复用户数据,可以在从库中查询到同步失败的用户数据后,再次对其进行同步,从而有效地避免用户数据同步失败而丢失的情况。例如,主库中缓存的用户数据同步失败时,可以将从库中备份的相同的用户数据再次放入到同步队列中,确保用户数据可以顺利同步到数据仓库。
在一些实施例中,第一存储空间可以为远程字典服务(Reids)存储系统。远程字典服务存储系统是一个高性能的键值数据库,不仅可以支持存储各种类型的用户数据,还可以支持主从同步。在远程字典服务存储系统中,从库可以连接到主库,从而实时更新从库中的用户数据,实现对主库缓存的用户数据的备份。将用户数据缓存至远程字典服务存储系统的所有操作都可以在内存中完成,而内存又具有高速的写入/读取性能,从而即使是在高并发场景,需要上传大量用户数据的情况下,也可以快速地完成对用户数据的缓存。
在一些实施例中,数据仓库可以用于存储用户数据。数据仓库相较于第一存储空间,可以拥有更大的存储容量,并且可以用于长期存储用户数据。用户可以到数据仓库中读取/查询用户数据。第一存储空间为内存空间,当长期缓存用户数据时,会占用服务器的内存,对服务器的负担较高,因此可以将第一存储空间缓存的用户数据同步到数据仓库中,释放内存空间,减少服务器的负担,以使服务器即使在高并发情况下也可以快速地对用户数据进行缓存。
在一些实施例中,数据仓库可以是分布式结构的数据库。例如,数据仓库可以由搭建于多个服务器的数据库组成,搭建了数据库的每个服务器都可以具有独立处理数据的能力。在从第一存储空间同步用户数据到数据仓库时,可以从一个或多个第一存储空间同步到分布于不同服务器(例如,分布于不同节点位置处的服务器)的数据仓库,在同步用户数据时,可以将用户数据分别同步到不同服务器的数据仓库中。采用分布式结构的数据仓库,在增加新的服务器后,可以自动从分布于其他服务器的数据仓库中调取用户数据,从而可以实现数据仓库的存储容量的水平扩展。将用户数据均匀的分布于多个服务器的数据仓库中,同时也实现了负载均衡,不会出现某一服务器处的数据仓库中存在过多用户数据的现象。在一些实施例中,可以从至少两个第一存储空间同步用户数据到至少两个数据仓库,两个数据仓库可以是位于不同(例如,位于不同位置节点)的服务器中,也可以是同一个服务器上的数据仓库的不同分区(同一数据仓库中对数据存储进行逻辑分区也可以认为是分布式结构),从而实现更加高效地将用户数据从第一存储空间同步至数据仓库,释放服务器的内存空间。
在一些实施例中,数据仓库可以为开源分布式混合事务处理和分析处理数据库。混合事务处理和分析处理(HTAP,Hybrid Transaction and Analytical Process)数据库可以包括TiDB、PetaData、Redshift、Apache kudu等。作为示例,以TiDB为例,TiDB数据库具备包括与MySQL兼容、写入读取可线性扩展、分布式事务、海量数据高并发实时写入与实时查询等特性。基于TiDB数据库的特性,即使在高并发场景下产生大量用户数据时,也可以快速地将用户数据从第一存储空间同步至TiDB数据库。在一些实施例中,基于TiDB数据库的特性,用户在需要使用数据时,也可以到TiDB数据库中读取/查询存储的用户数据。
步骤206,将常用用户数据同步到第二存储空间。具体地,步骤206可以由存储端420执行。
在一些实施例中,所述常用用户数据可以是指数据仓库中读取频率大于预设阈值的用户数据。读取频率可以是一定时间内到数据仓库中读取用户数据的次数,例如,在一天内到数据仓库中读取某一用户数据多少次。预设阈值可以是设定的时间段内用户数据的读取次数达到预设次数,比如,在一天内被读取100、1000、10000次;预设阈值也是是读取频率达到预设排名,比如,每一种类型的用户数据都会有相应的读取频率,常用用户数据可以是所有读取频率中排名前10、50、100的用户数据。
在一些实施例中,第二存储空间可以用于查询常用用户数据。第二存储空间可以为关系型数据库管理系统。关系型数据库可以包括MySQL、Oracle、DB2、Microsoft SQLServer、Microsoft Access等。作为示例,以MySQL数据库为例,MySQL数据库可以将用户数据保存在不同的表中,而不是将所有用户数据放在一个大空间内,从而增加了读取速度以及提高了数据读取的灵活性,可以便于查询和读取用户数据。MySQL数据库与TiDB数据仓库相比,TiDB数据仓库拥有更大的容量,同时具有与MySQL数据库兼容的特性,但是相对MySQL数据库,TiDB数据仓库运营成本会更高,为了节省运行成本与方便查询,可以将常用的部分用户数据放入到MySQL数据库(第二存储空间内)。在查询用户数据时,对于常用的用户数据可以直接到第二存储空间进行查询,对于不常用的用户数据,可以到数据仓库进行查询。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,在流程200中添加其他步骤,例如,数据分析步骤、预处理步骤等。
图3是根据本申请一些实施例所示的缓存用户数据至第一存储空间的示例性流程图。如图3所述,流程300包括:
步骤302,从所述用户数据中提取与所述用户类型相关的信息。具体的,该步骤302可以通过存储端420执行。
用户类型可以用于表示用户的不同类别,例如,不同年龄、性别、职业、喜好、习惯、活跃度等用户。在一些实施例中,用户数据可以是用户对调研问卷回答后得到的答案。在一些实施例中,可以从用户回答的答案中获取与用户类型相关的信息。例如,从用户回答的年龄题目中获取用户的年龄,从用户回答的性别题目中获取用户的性别等。在一些实施例中,用户数据还可以是用户在发送问卷答案时传递的与用户设备相关的参数,用户设备可以是手机、平板电脑等。例如,参数可以是设备型号参数、使用设备的习惯参数(例如,使用时长、使用时间段等)。
步骤304,将所述用户数据缓存至与所述信息匹配的所述第一存储空间。具体地,该步骤304可以通过存储端420执行。
在一些实施例中,存储端可以具有多个第一存储空间,每个第一存储空间可以分别用于存储不同类型的用户数据,例如,共3个第一存储空间A、B和C,其中,A用于存储年龄20-30岁用户回答的问卷,B用于存储30-40岁用户回答的问卷,C用于存储40-50岁用户回答的问卷。在一些实施例中,通过步骤302得到与用户类型相关的信息后,可以对该信息与第一存储空间进行匹配。例如,若该信息为20-30岁,则将对应的用户数据存储于A。
在一些实施例中,在将用户数据缓存至与所述信息匹配的第一存储空间时,还可以判断与所述信息匹配的第一存储空间中缓存的用户数据的量是否高于预设阈值,如果未高于预设阈值,则可以将用户数据缓存至第一存储空间。其中,用户数据的量可以是回答的调研问卷份数,相应的,阈值为回答的调研问卷的份数,例如,20份、30份等;用户数据的量还可以是数据大小,相应的,阈值为存储的数据大小,例如,2MB、3MB等。在一些实施例中,不同第一存储空间可以设定的阈值可以相同可以不同。在一些实施例中,阈值的大小可以根据实际调研需要确定,例如,重点调研20-30岁,则将对应的第一存储空间的阈值设定较高。
应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,在流程300中添加其他步骤,例如,数据分析步骤、预处理步骤等。
图4是根据本申请的一些实施例所示的数据收集系统400的模块图。如图2所示,该数据收集系统400可以包括:采集端410和存储端420。
采集端410可以用于接收至少一个用户数据,并将用户数据发送给存储端。在一些实施例中,用户数据可以包括任何形式的数据,例如,文档、文字、字母、数字、图片、语音、视频、二维码以及各种程序代码等。在一些实施例中,采集端410可以通过网络(例如,网络120)将用户数据发送给存储端。在一些实施例中,采集端410可以用于在接收到所述用户数据之后,对所述用户数据进行加密。加密方式可以包括令牌(token)加密、公开密钥加密技术、数字证书、对称加密、非对称加密等其中的一种或其组合。
存储端420可以用于将接收到的所述用户数据缓存至一个或多个第一存储空间,并将缓存完成的所述用户数据同步到数据仓库。在一些实施例中,存储端420可以用于接收、存储、处理以及发送用户数据等。例如,存储端可以从采集端接收调研问卷,并对调研问卷进行处理(例如,加密、解密、拆分、合并、计算、分析等)。在一些实施例中,存储端420可以用于在对所述用户数据进行缓存之前,先对加密的所述用户数据进行解密。在一些实施例中,第一存储空间为存储端的内存空间。在一些实施例中,所述第一存储空间包含主库和至少一个从库,所述从库对所述主库缓存的数据进行备份。在一些实施例中,第一存储空间可以为远程字典服务(Reids)存储系统。
在一些实施例中,存储端420可以用于从所述用户数据中提取与用户类型相关的信息;以及将所述用户数据缓存至与所述信息匹配的所述第一存储空间。在一些实施例中,存储端420可以用于判断与所述信息匹配的所述第一存储空间中缓存的用户数据的量是否高于预设阈值;否,则将所述用户数据缓存至所述第一存储空间。
在一些实施例中,存储端420可以用于将缓存完成的所述用户数据同步到数据仓库,所述数据仓库用于存储所述用户数据,其中,数据仓库可以用于存储用户数据。在一些实施例中,存储端420可以用于将所述主库或者从库中缓存完成的用户数据同步到所述数据仓库,以及判断是否同步成功,否,则对未被同步的库中缓存完成的用户数据进行再次同步。在一些实施例中,所述数据仓库为分布式结构的数据库。在一些实施例中,所述数据仓库为开源分布式混合事务处理和分析处理数据库。
在一些实施例中,存储端420可以将常用用户数据同步到第二存储空间。第二存储空间可以用于查询常用用户数据,常用用户数据是指数据仓库中读取频率大于预设阈值的用户数据。在一些实施例中,第二存储空间为关系型数据库管理系统。
关于数据收集系统的各模块的具体描述,可以参考本申请流程图部分,例如,图2至图3的相关描述。
应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于数据收集系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图4中披露的采集端410和存储端420可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,采集端410、存储端420可以是两个模块,也可以是一个模块同时具有接收和存储功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本申请的保护范围之内。
本申请实施例可能带来的有益效果包括但不限于:(1)在接收到用户数据后,先将用户数据缓存至第一存储空间,再将用户数据同步至数据仓库,最后将常用的部分用户数据同步至第二存储空间。第一存储空间具有缓存速度快,数据仓库可以为分布式结构并且可以存储海量用户数据,因此,即使是在高并发场景下,也可以及时将用户数据上传,用户数据不易丢失。(2)数据仓库和第二存储空间都可以用于查询/读取数据,用户可以便捷的选择在数据仓库或第二存储空间进行数据读取/查询。(3)采集端在接收到用户数据后,对用户数据加密后进行缓存,提高了用户数据的安全性。(4)第一存储空间采用主库和从库的模式,可以对用户数据进行备份,具有较强的数据收集容错性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本申请中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。

Claims (26)

1.一种数据收集方法,其特征在于,所述方法包括:
采集端接收至少一个用户数据,并将所述用户数据发送给存储端;
所述存储端将接收到的所述用户数据缓存至一个或多个第一存储空间,并将缓存完成的所述用户数据同步到数据仓库,所述数据仓库用于存储所述用户数据;
所述存储端将常用用户数据同步到第二存储空间,所述第二存储空间用于查询所述常用用户数据;所述常用用户数据是指所述数据仓库中读取频率大于预设阈值的用户数据。
2.根据权利要求1所述的方法,所述第一存储空间为所述存储端的内存空间。
3.根据权利要求1所述的方法,所述第一存储空间包含主库和至少一个从库,所述从库对所述主库缓存的数据进行备份。
4.根据权利要求2或3所述的方法,所述第一存储空间为远程字典服务存储系统。
5.根据权利要求1所述的方法,所述数据仓库为分布式结构的数据库。
6.根据权利要求5所述的方法,所述数据仓库为开源分布式混合事务处理和分析处理数据库。
7.根据权利要求1所述的方法,所述第二存储空间为关系型数据库管理系统。
8.根据权利要求3所述的方法,其特征在于,所述将缓存完成的所述用户数据同步到数据仓库,包括:
将所述主库或者从库中缓存完成的用户数据同步到所述数据仓库;
判断是否同步成功,否,则对未被同步的库中缓存完成的用户数据进行再次同步。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述采集端在接收到所述用户数据之后,对所述用户数据进行加密;
所述存储端在对所述用户数据进行缓存之前,先对加密的所述用户数据进行解密。
10.根据权利要求9所述的方法,其特征在于,加密方式为令牌加密。
11.根据权利要求1所述的方法,其特征在于,所述存储端将接收到的所述用户数据缓存至一个或多个第一存储空间,包括:
从所述用户数据中提取与用户类型相关的信息;
将所述用户数据缓存至与所述信息匹配的所述第一存储空间。
12.根据权利要求11所述的方法,其特征在于,所述将所述用户数据缓存至与所述信息匹配的所述第一存储空间包括:
判断与所述信息匹配的所述第一存储空间中缓存的用户数据的量是否高于预设阈值;
否,则将所述用户数据缓存至所述第一存储空间。
13.一种数据收集系统,其特征在于,所述系统包括:
采集端,用于接收至少一个用户数据,并将所述用户数据发送给存储端;
所述存储端,用于将接收到的所述用户数据缓存至一个或多个第一存储空间,并将缓存完成的所述用户数据同步到数据仓库,所述数据仓库用于存储所述用户数据;用于将常用用户数据同步到第二存储空间,所述第二存储空间用于查询所述常用用户数据;所述常用用户数据是指所述数据仓库中读取频率大于预设阈值的用户数据。
14.根据权利要求13所述的系统,所述第一存储空间为所述存储端的内存空间。
15.根据权利要求13所述的系统,所述第一存储空间包含主库和至少一个从库,所述从库对所述主库缓存的数据进行备份。
16.根据权利要求14或15所述的系统,所述第一存储空间为远程字典服务存储系统。
17.根据权利要求13所述的系统,所述数据仓库为分布式结构的数据库。
18.根据权利要求17所述的系统,所述数据仓库为开源分布式混合事务处理和分析处理数据库。
19.根据权利要求13所述的系统,所述第二存储空间为关系型数据库管理系统。
20.根据权利要求15所述的系统,其特征在于,所述存储端用于:
将所述主库或者从库中缓存完成的用户数据同步到所述数据仓库;
判断是否同步成功,否,则对未被同步的库中缓存完成的用户数据进行再次同步。
21.根据权利要求13所述的系统,其特征在于:
所述采集端用于:在接收到所述用户数据之后,对所述用户数据进行加密;
所述存储端用于:在对所述用户数据进行缓存之前,先对加密的所述用户数据进行解密。
22.根据权利要求21所述的系统,其特征在于,加密方式为令牌加密。
23.根据权利要求13所述的系统,其特征在于,所述存储端用于:
从所述用户数据中提取与用户类型相关的信息;
将所述用户数据缓存至与所述信息匹配的所述第一存储空间。
24.根据权利要求23所述的系统,其特征在于,所述存储端用于:
判断与所述信息匹配的所述第一存储空间中缓存的用户数据的量是否高于预设阈值;
否,则将所述用户数据缓存至所述第一存储空间。
25.一种数据收集装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,其特征在于,所述指令被所述处理器执行时,导致所述装置实现如权利要求1至12中任一所述方法。
26.一种计算机可读存储介质,其特征在于,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行如权利要求1至12中任一所述方法。
CN202010145527.9A 2020-03-05 2020-03-05 一种数据收集方法和系统 Active CN111367979B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010145527.9A CN111367979B (zh) 2020-03-05 2020-03-05 一种数据收集方法和系统
EP21765132.2A EP3951610A4 (en) 2020-03-05 2021-03-05 METHOD AND SYSTEM FOR AUTOMATICALLY GENERATING A DATA DETERMINATION RESULT
US17/606,954 US11960497B2 (en) 2020-03-05 2021-03-05 Method and system for automatically generating data determining result
TW110107986A TWI781547B (zh) 2020-03-05 2021-03-05 一種自動生成數據判斷結果的方法和系統
PCT/CN2021/079183 WO2021175301A1 (zh) 2020-03-05 2021-03-05 一种自动生成数据判断结果的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010145527.9A CN111367979B (zh) 2020-03-05 2020-03-05 一种数据收集方法和系统

Publications (2)

Publication Number Publication Date
CN111367979A true CN111367979A (zh) 2020-07-03
CN111367979B CN111367979B (zh) 2021-10-26

Family

ID=71206621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010145527.9A Active CN111367979B (zh) 2020-03-05 2020-03-05 一种数据收集方法和系统

Country Status (1)

Country Link
CN (1) CN111367979B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021175301A1 (zh) * 2020-03-05 2021-09-10 广州快决测信息科技有限公司 一种自动生成数据判断结果的方法和系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067575A1 (en) * 2005-09-20 2007-03-22 Morris John M Method of managing cache memory based on data temperature
CN1955959A (zh) * 2005-10-25 2007-05-02 英业达股份有限公司 信息采集系统及方法
CN102231869A (zh) * 2011-06-27 2011-11-02 北京邮电大学 一种增值服务精细化运营系统架构的实现方法
CN103699660A (zh) * 2013-12-26 2014-04-02 清华大学 一种大规模网络流式数据缓存写入的方法
CN106845272A (zh) * 2017-01-19 2017-06-13 浙江中都信息技术有限公司 基于终端代理的威胁监控及数据防泄露方法与系统
CN107748763A (zh) * 2017-09-26 2018-03-02 深圳智慧园区信息技术有限公司 一种基于ela大数据驾驶舱的3d触摸系统及方法
CN108133041A (zh) * 2018-01-11 2018-06-08 四川九洲电器集团有限责任公司 基于网络爬虫和数据转移技术的数据采集系统及方法
CN110704463A (zh) * 2019-09-06 2020-01-17 中国平安财产保险股份有限公司 常用数据的本地缓存方法、装置、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067575A1 (en) * 2005-09-20 2007-03-22 Morris John M Method of managing cache memory based on data temperature
CN1955959A (zh) * 2005-10-25 2007-05-02 英业达股份有限公司 信息采集系统及方法
CN102231869A (zh) * 2011-06-27 2011-11-02 北京邮电大学 一种增值服务精细化运营系统架构的实现方法
CN103699660A (zh) * 2013-12-26 2014-04-02 清华大学 一种大规模网络流式数据缓存写入的方法
CN106845272A (zh) * 2017-01-19 2017-06-13 浙江中都信息技术有限公司 基于终端代理的威胁监控及数据防泄露方法与系统
CN107748763A (zh) * 2017-09-26 2018-03-02 深圳智慧园区信息技术有限公司 一种基于ela大数据驾驶舱的3d触摸系统及方法
CN108133041A (zh) * 2018-01-11 2018-06-08 四川九洲电器集团有限责任公司 基于网络爬虫和数据转移技术的数据采集系统及方法
CN110704463A (zh) * 2019-09-06 2020-01-17 中国平安财产保险股份有限公司 常用数据的本地缓存方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭源生等: "《智慧城市的模块化构架与核心技术》", 31 October 2014 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021175301A1 (zh) * 2020-03-05 2021-09-10 广州快决测信息科技有限公司 一种自动生成数据判断结果的方法和系统
US11960497B2 (en) 2020-03-05 2024-04-16 Guangzhou Quick Decision Information Technology Co., Ltd. Method and system for automatically generating data determining result

Also Published As

Publication number Publication date
CN111367979B (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
US11226948B2 (en) Index maintenance based on a comparison of rebuild vs. update
US9892151B2 (en) Database system and method
US10013440B1 (en) Incremental out-of-place updates for index structures
CN110674154B (zh) 一种基于Spark的对Hive中数据进行插入、更新和删除的方法
US9767126B2 (en) Storing and processing data organized as flexible records
CN105009121B (zh) 预测存储服务
CN109189782A (zh) 一种区块链商品交易查询中的索引方法
CN109815344B (zh) 基于参数共享的网络模型训练系统、方法、装置和介质
CN109657174B (zh) 用于更新数据的方法和装置
US20140304384A1 (en) Uploading large content items
CN110795499A (zh) 基于大数据的集群数据同步方法、装置、设备及存储介质
CN113609374A (zh) 基于内容推送的数据处理方法、装置、设备及存储介质
WO2017174013A1 (zh) 数据存储管理方法、装置及数据存储系统
CN112632035A (zh) 面向自主可控数据库迁移方法及存储介质
US9607043B2 (en) Peak data federation multizone splitting
CN112905618A (zh) 数据处理方法以及装置
CN111259066A (zh) 服务器集群数据同步方法及装置
CN111367979B (zh) 一种数据收集方法和系统
CN112307061A (zh) 用于查询数据的方法和装置
CN116775712A (zh) 联表查询方法、装置、电子设备、分布式系统和存储介质
CN111506646B (zh) 数据同步方法、装置、系统、存储介质及处理器
Gupta et al. An extended HDFS with an AVATAR NODE to handle both small files and to eliminate single point of failure
CN116257584A (zh) 数据同步方法及装置
CN111447267B (zh) 信息同步方法、装置、计算机可读存储介质及设备
EL-SAYED et al. Impact of small files on hadoop performance: literature survey and open points

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