数据处理方法、系统、设备、介质和程序产品与流程

文档序号:32802856发布日期:2023-01-04 00:08阅读:34来源:国知局
数据处理方法、系统、设备、介质和程序产品与流程

1.本发明涉及计算机数据处理领域,特别涉及一种数据处理方法、系统、设备、介质和程序产品。


背景技术:

2.在实际业务场景中,进行数据同步的过程中,如何同时保证高效和可靠,成为了目前行业需要持续解决的问题。其中,在高效同步数据的同时,保证数据在任何情况下不丢失,成为行业中尤其亟待解决的核心问题。
3.目前市面上的数据同步工具如果要保证数据的可靠性,都是采取磁盘缓存方式,由于需要进行磁盘读写,同步效率极其低下。如果需要高效同步,会采用内存缓存方式,但在宕机后存在数据丢失,两者无法在性能与可靠中获得一个平衡点,需要一种高性能、高可靠的数据同步方法,解决数据同步应用的痛点和难点。
4.本发明提供了一种高性能高可靠的数据同步技术,能够保证高效同步数据的同时,在任何情况下都不会出现数据丢失的问题。


技术实现要素:

5.本发明的目的在于提供一种数据处理方法、系统、设备、介质和程序产品,本发明通过对数据信息、记录位点信息的处理来解决数据同步中的难点问题,以支持数据同步的高性能、完整性,减少了数据同步的延迟,同时保障数据的完整性,避免任何一条数据的丢失,从而确保后台计算的正确性、实时性、完整性。
6.本发明的实施方式公开了一种数据处理,所述方法包括:
7.数据获取步骤,获取来自数据源的数据;
8.数据分流步骤,基于所述数据的唯一标识符对所述数据分流;
9.数据发送步骤,发送所述数据,并基于所述数据的处理结果更新位点信息,所述位点信息是处理与未处理所述数据的分界点。
10.可选地,所述数据分流步骤还包括,对所述唯一标识符进行哈希计算,将具有相同的所述唯一标识符的数据加入同一内存队列。
11.可选地,所述数据发送步骤中,基于所述数据的处理结果更新所述位点信息包括,在完成对所述数据处理的情况下,更新所述内存队列中的位点信息,在没完成对所述数据处理的情况下,重新发送所述数据。
12.本发明的实施方式公开了一种数据处理系统,所述系统包括:
13.数据获取模块,获取来自数据源的数据;
14.数据分流模块,基于所述数据的唯一标识符对所述数据分流;
15.数据发送模块,发送所述数据,并基于所述数据的处理结果更新位点信息,所述位点信息是处理与未处理所述数据的分界点。
16.可选地,所述数据分流模块还包括计算模块,所述计算模块对所述唯一标识符进
行哈希计算,并将具有相同的所述唯一标识符的数据加入同一内存队列。
17.可选地,所述数据发送模块有多个,多个所述数据发送模块与所述内存队列一一对应。
18.本发明的实施方式公开了一种电子设备,其特征在于,所述设备包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行所述指令以实施所述的数据处理方法。
19.本发明的实施方式公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现所述的数据处理方法。
20.本发明的实施方式公开了一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被执行时,实现所述的数据处理方法。
21.本发明提供了一种数据同步技术,通过分流数据、更新位点信息的处理来保证数据的有序性,以支持数据同步的高性能、完整性,减少数据同步的延迟,同时保障数据的完整性,避免任何一条数据的丢失。
22.本发明实施方式与现有技术相比,主要区别及其效果在于:高效地数据同步前提下,保证在任何情况下不出现数据丢失的问题,同时,在同步的过程中保证数据有序性。
23.现有技术中,同步数据都是采取磁盘缓存方式,由于需要进行磁盘读写,同步效率极其低下。如果需要高效同步,会采用内存缓存方式,但在宕机后存在数据丢失,两者无法在性能与可靠中获得一个平衡点,需要一种高性能、高可靠的数据同步方法,解决数据同步应用的痛点和难点。
24.本发明的技术效果在于,本发明的数据处理方法,通过对具有唯一标识符的数据进行分流以保证数据的有序性,基于数据是否完成处理对缓存中的位点信息进行更新,位点信息是处理和未处理数据的分界点,可以高效同步数据的同时,解决数据同步过程中任一环节中数据可能会丢失的难点问题。
附图说明
25.图1是根据本发明实施例的一种数据处理方法应用的场景示意图;
26.图2是根据本发明实施例的一种数据处理方法的流程图;
27.图3是根据本发明实施例的一种数据处理方法的分流数据的示意图;
28.图4是根据本发明实施例的一种数据处理方法的发送数据的示意图;
29.图5是根据本发明实施例的一种数据处理系统的结构框图;
30.图6是根据本发明实施例的一种电子设备的硬件结构框图。
具体实施方式
31.下面结合具体实施例和附图对本发明做进一步说明。可以理解的是,此处描述的具体实施例仅仅是为了解释本发明,而非对本发明的限定。此外,为了便于描述,附图中仅示出了与本发明相关的部分而非全部的结构或过程。应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项。
32.应当理解的是,虽然在本文中可能使用了术语“第一”、“第二”等等来描述各个特
征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了进行区分,而不能理解为指示或暗示相对重要性。举例来说,在不背离示例性实施例的范围的情况下,第一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
33.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
34.图1是根据本发明实施例的一种数据处理方法应用的场景示意图。
35.如图1所示,包括数据源100、服务器端200和数据接收端300,其中服务器端200在本发明实施例的一种数据处理方法应用中其主要作用的部分包括数据拉取端210、分流器220、内存队列230和发送端240。数据源100和服务器端200之间通过有/无线网络的连接来实现通信,同时也通过有线或无线网络使得用户能够接入和访问。
36.图1中示出了一个数据源100,值得注意的是,本领域技术人员能够理解,数据源100的数量不限于一个,可以是一个数据源100,也可以是若干数据源100,数据源100的数量不应作为本发明的限制条件,同时,数据源100可以是任何提供数据的客户端或服务器端,本发明的一种数据处理方法可以应用于需要对数据进行同步的同时保证不丢失任何数据的电子设备。
37.服务器端200可以实现同步数据,并保证数据的有序性,使得数据同步环节中不会有任何数据的丢失。
38.数据接收端300可以是任何接收数据的客户端或服务器端。
39.目前市面上同步数据都是采取磁盘缓存方式,由于需要进行磁盘读写,同步效率极其低下。如果需要高效同步,会采用内存缓存方式,但在宕机后存在数据丢失,两者无法在性能与可靠中获得一个平衡点,需要一种高性能、高可靠的数据同步方法,解决数据同步应用的痛点和难点。
40.针对上述问题,本发明提供了一种数据处理方法。以下参考附图对该方法进行详细说明。
41.图2是根据本发明实施例的一种数据处理方法的流程图。
42.如图2所示,本发明一实施例提供的一种数据处理方法在步骤s100-s300中需要数据源100、数据拉取端210、分流器220、内存队列230、发送端240和数据接收端300的配合,该方法包括:
43.步骤s100:获取来自数据源100的数据。
44.大数据采集方式可以采用数据库采集、系统日志采集、网络数据采集、感知设备数据采集的方式。其中,传统的关系型数据库mysql和oracle可以存储数据,大数据时代,redis、mongodb和hbase等nosql数据库也常用于数据采集,通过在采集端部署大量数据库,并在这些数据库之间进行负载均衡和分片,来完成大数据采集工作;系统日志采集主要是收集数据平台日常产生的大量日志数据,供离线和在线的大数据分析系统使用。高可用性、高可靠性、可扩展性是日志收集系统所具有的基本特征。系统日志采集工具均采用分布式架构,能够满足每秒数百mb的日志数据采集和传输需求;网络数据采集是指通过网络爬虫或网站公开api等方式从网站上获取数据信息的过程。网络爬虫会从一个或若干初始网页的url开始,获得各个网页上的内容,并且在抓取网页的过程中,不断从当前页面上抽取新的url放入队列,直到满足设置的停止条件为止,这样可将非结构化数据、半结构化数据从
网页中提取出来,存储在本地的存储系统中;感知设备数据采集是指通过传感器、摄像头和其他智能终端自动采集信号、图片或录像来获取数据。大数据智能感知系统需要实现对结构化、半结构化、非结构化的海量数据的智能化识别、定位、跟踪、接入、传输、信号转换、监控、初步处理和管理等。
45.以上采集到各种数据,可以作为本发明提供的一种数据处理方法的服务器端200从各种数据平台获取的数据源110。
46.步骤s200:基于数据的唯一标识符对数据分流。
47.哈希算法是一个广义的算法,使用哈希算法可以提高存储空间的利用率,可以提高数据的查询效率,也可以做数字签名来保障数据传递的安全性。所以哈希算法被广泛地应用在互联网应用中。
48.对数据源100获取的数据的唯一标识符进行哈希运算,方便使得具有相同唯一标识符的数据进入到同一个内存队列230。
49.作为一种实施方式,数据拉取端210获取数据源100中的数据,分流器220对数据的唯一标识符进行哈希运算,经过哈希运算的处理,将具有相同唯一标识符的数据加入同一个内存队列230。
50.分流器是指对数据的唯一标识符进行识别、运算、处理的运算程序或设备。
51.一种举例中,数据的唯一标识符由多种字符组成,分流器是指一种算法程序或设备,该程序或设备具有对数据的唯一标识符进行哈希运算的功能,最终将运算结果根据分配规则发送到内存队列230中,例如,分配规则可以是基于相同的唯一标识符。
52.需要注意的是,本领域技术人员能够理解,内存队列具有多个,内存队列的数量是基于标识符的种类设置的,因此,内存队列的数量并不作为本发明的一种数据处理方法的限制条件。
53.作为一种实施方式,具有唯一标识符的数据有若干条,其中,具有相同唯一标识符的数据归为一个内存队列230,内存队列230有若干个,可以容纳所有数据,每一个内存队列230暂存着具有相同的唯一标识符的数据。
54.步骤s300:发送数据到数据接收端,并基于数据的处理结果更新位点信息,位点信息是处理与未处理所述数据的分界点。
55.发送数据由服务器端200中的发送端240执行。
56.作为一种实施方式,发送端240与内存队列230一一对应,即每一个暂存着相同唯一标识符的内存队列230具有一个与之对应的发送端240。本领域技术人员能够理解,发送端240的数量可以是一个,也可以是若干个,发送端240的数量以内存队列230的数量为准,因此,发送端240的数量并不作为本发明的一种数据处理方法的限制条件。
57.作为一种实施方式,发送端240从与之对应的内存队列230获取具有相同唯一标识符的数据,将具有唯一标识符的数据发送到数据接收端300,数据接收端300端对数据进行处理,发送端240基于数据的处理结果更新位点信息。
58.一种举例中,发送端240从与之对应的内存队列230获取具有相同唯一标识符的数据,将具有唯一标识符的数据发送到数据接收端300,数据接收端300端对数据进行处理,数据接收端300完成了对数据的处理,此时,发送端240接收到任务成功的指令,发送端240对内存队列230中的位点信息进行更新。
59.另一种举例中,发送端240从与之对应的内存队列230获取具有相同唯一标识符的数据,将具有唯一标识符的数据发送到数据接收端300,数据接收端300端对数据进行处理,数据接收端300没有完成对数据的处理,此时,发送端240接收到任务失败的指令,发送端240重新发送数据到数据接收端300,直至数据接收端300完成对数据的处理,发送端240接收到任务成功的指令,发送端240对内存队列230中的位点信息进行更新。
60.位点信息是处理与未处理数据的分界点,是一种位置标识信息,并不对原有的数据及其数据位置进行改动,可以保障数据的有序性。
61.优选地,位点信息在内存队列230中。
62.根据本发明的数据处理方法,通过对具有唯一标识符的数据进行分流以保证数据的有序性,基于数据是否完成处理对缓存中的位点信息进行更新,可以高效同步数据,同时能够解决数据同步过程中任一环节中数据可能会丢失的难点问题。
63.图3是根据本发明实施例的一种数据处理方法的分流数据的示意图。
64.如图3所示,数据拉取端210将数据发送至分流器220中,分流器对数据的唯一标识符进行哈希运算,运算规则为将相同的唯一标识符的数据加入同一内存队列230,内存队列230的数量为若干个,以实际完全容纳所有不同唯一标识符的数据为准,不同内存队列230的一端具有唯一的发送端240,发送端230的数量与内存队列230对应。
65.其中,数据拉取端210从缓存的位点信息进行数据的获取,该位点信息位于数据源100中,位点信息为描述处理与未处理数据的分界点位置信息。
66.图4是根据本发明实施例的一种数据处理方法的发送数据的示意图。
67.如图4所示,发送端240持续不断的从内存队列230中获取数据,结合图3可知,每一个发送端240对应一个具有相同唯一标识符的内存队列230,因此,可以保证数据的有序性。
68.发送端240将数据发送至数据接收端300,发送端240对数据接收端300执行任务的实际情况进行判断,若数据接收端完成对数据的处理,则发送端240对内存队列230的位点信息进行更新;若数据接收端没有完成对数据的处理,则发送端240对内存队列230的位点信息不进行更新,发送端240将重新发送数据到数据接收端300,直至数据接收端300完成对数据的处理任务,此时,发送端240对内存队列230的位点信息进行更新。
69.图5是根据本发明实施例的一种数据处理系统的结构框图。
70.如图5所示,系统400包括获取数据模块410、分流数据模块420、发送数据模块430;
71.数据获取模块410,获取来自数据源的数据;
72.数据分流模块420,基于数据的唯一标识符对数据分流;
73.数据发送模块430,发送数据,并基于数据的处理结果更新位点信息,位点信息是处理与未处理所述数据的分界点。
74.作为一种实施方式,数据分流模块420还包括计算模块,该计算模块可以对数据的唯一标识符进行哈希运算,并将具有相同唯一标识符的数据加入同一内存队列230。
75.作为一种实施方式,数据发送模块的数量有多个,多个数据发送模块与内存队列一一对应。
76.本实施方式与前述实施方式是相对应的方法实施方式,本实施方式可与前述实施方式方式互相配合实施。前述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在前述
实施方式中。
77.根据本发明的一些实施例,公开了一种电子设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施一种数据处理方法。
78.图6是实施根据本发明实施例的电子设备的硬件结构框图。
79.如图6所示,电子设备600可以包括一个或多个处理器602、与处理器602中的至少一个连接的系统主板608、与系统主板608连接的系统内存605、与系统主板608连接的非易失性存储器(nvm)606、以及与系统主板608连接的网络接口610。
80.处理器602可以包括一个或多个单核或多核处理器。处理器602可以包括通用处理器和专用处理器(例如,图形处理器、应用处理器、基带处理器等)的任何组合。在本发明的实施例中,处理器602可以被配置为执行根据如图2所示的方法。
81.在一些实施例中,系统主板608可以包括任意合适的接口控制器,以向处理器602中的至少一个和/或与系统主板608通信的任意合适的设备或组件提供任意合适的接口。
82.在一些实施例中,系统主板608可以包括一个或多个存储器控制器,以提供连接到系统内存605的接口。系统内存605可以用于加载以及存储数据和/或指令。在一些实施例中电子设备600的系统内存605可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(dram)。
83.nvm 606可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,nvm 606可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如hdd(hard disk drive,硬盘驱动器)、cd(compact disc,光盘)驱动器、dvd(digital versatile disc,数字通用光盘)驱动器中的至少一个。
84.nvm 606可以包括安装在电子设备600的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口610通过网络访问nvm 606。
85.特别地,系统内存605和nvm 606可以分别包括:指令620的暂时副本和永久副本。指令620可以包括:由处理器602中的至少一个执行时导致电子设备600实施如图2所示的方法的指令。在一些实施例中,指令620、硬件、固件和/或其软件组件可另外地/替代地置于系统主板608、网络接口610和/或处理器602中。
86.网络接口610可以包括收发器,用于为电子设备600提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(例如,前端模块、天线等)进行通信。在一些实施例中,网络接口610可以集成于电子设备600的其他组件。例如,网络接口610可以集成于处理器602、系统内存605、nvm 606、和具有指令的固件设备(未示出)中的至少一种,当处理器602中的至少一个执行所述指令时,电子设备600实现图2所示的各种实施例的一个或多个实施例。
87.网络接口610可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口610可以是网络适配器、无线网络适配器、电话调制解调器和/或无线调制解调器。
88.在一个实施例中,处理器602中的至少一个可以与用于系统主板608的一个或多个控制器封装在一起,以形成系统封装(sip)。在一个实施例中,处理器602中的至少一个可以与用于系统主板608的一个或多个控制器集成在同一管芯上,以形成片上系统(soc)。
89.电子设备600可以进一步包括:输入/输出(i/o)设备612,与系统主板608连接。i/o
设备612可以包括用户界面,使得用户能够与电子设备600进行交互;外围组件接口的设计使得外围组件也能够与电子设备600交互。在一些实施例中,电子设备600还包括传感器,用于确定与电子设备600相关的环境条件和位置信息的至少一种。
90.在一些实施例中,i/o设备612可包括但不限于显示器(例如,液晶显示器、触摸屏显示器等)、扬声器、麦克风、一个或多个相机(例如,静止图像照相机和/或摄像机)、手电筒(例如,发光二极管闪光灯)和键盘。
91.在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
92.可以理解的是,本发明实施例示意的结构并不构成对电子设备600的具体限定。在本技术另一些实施例中,电子设备600可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件、或软件和硬件的组合实现。
93.可将程序代码应用于输入指令,以执行本发明描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,包括处理器602的用于处理指令的系统包括具有诸如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
94.程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本发明中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
95.根据本发明的一个实施例,还提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现前述的方法。
96.根据本发明的一个实施例,还提出了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令被执行时,实现前述的方法。
97.本发明的说明性实施例包括但不限于一种数据处理方法、系统、设备、介质和程序产品。
98.将使用本领域技术人员通常采用的术语来描述说明性实施例的各个方面,以将他们工作的实质传达给本领域其他技术人员。然而,对于本领域技术人员来说,使用部分所描述的特征来施行一些替代性实施例是显而易见的。出于解释的目的,阐述了具体的数字和配置,以便对说明性实施例进行更加透彻的理解。然而,对于本领域技术人员来说显而易见的是,可以在没有具体细节的情况下实施替代实施例。在一些其他情况下,本文省略或简化了一些众所周知的特征,以避免使本发明的说明性实施例模糊不清。
99.此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个彼此分离的操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖描述的顺序,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序也可以被重新安排。当所描述的操作完成时,所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
100.说明书中对“一种举例”、“举例中”、“一种实施例”、“一种实施方式”等的引用表示所描述的实施例可以包括特定特征、结构或性质,但是每个实施例也可能或不是必需包括
特定的特征、结构或性质。而且,这些短语不一定是针对同一实施例。此外,当结合具体实施例描述特定特征,本领域技术人员的知识能够影响到这些特征与其他实施例的结合,无论这些实施例是否被明确描述。
101.除非上下文另有规定,否则术语“包含”、“具有”和“包括”是同义词。短语“a和/或b”表示“(a)、(b)或(a和b)”。
102.如本文所使用的,术语“模块”可以指代,作为其中的一部分,或者包括:用于运行一个或多个软件或固件程序的存储器(共享、专用或组)、专用集成电路(asic)、电子电路和/或处理器(共享、专用或组)、组合逻辑电路、和/或提供所述功能的其他合适组件。
103.在附图中,可能以特定布置和/或顺序示出了一些结构或方法特征。然而,应当理解的是,这样的特定布置和/或排序不是必需的。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来进行说明。另外,特定附图中所包含得结构或方法特征并不意味着所有实施例都需要包含这样的特征,在一些实施例中,可以不包含这些特征或者可以与将这些特征与其他特征进行组合。
104.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
105.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
106.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
107.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1