CN112732722A - 数据处理方法、数据处理装置、存储介质与电子设备 - Google Patents
数据处理方法、数据处理装置、存储介质与电子设备 Download PDFInfo
- Publication number
- CN112732722A CN112732722A CN202110069973.0A CN202110069973A CN112732722A CN 112732722 A CN112732722 A CN 112732722A CN 202110069973 A CN202110069973 A CN 202110069973A CN 112732722 A CN112732722 A CN 112732722A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- data table
- user
- tuple
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000012163 sequencing technique Methods 0.000 claims abstract description 8
- 230000006399 behavior Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013459 approach Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 239000013078 crystal Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种数据处理方法、数据处理装置、计算机可读存储介质与电子设备,涉及数据处理技术领域。所述数据处理方法包括:获取待处理数据表;对所述待处理数据表中预设字段下的原始数据进行编码,得到所述原始数据对应的编码数据;以所述待处理数据表的元组为单位,对所述原始数据对应的编码数据进行合并,得到各元组对应的目标数据;根据所述目标数据对所述待处理数据表的元组进行排序。本公开可以高效、准确的对待处理数据表中的数据进行排序。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据处理方法、数据处理装置、计算机可读存储介质与电子设备。
背景技术
在各种应用场景下,经常会出现需要对对象进行排序处理的情况,例如对直播间观众的数据进行字段排序,以对当前直播间的用户进行分析等。在进行排序时,现有技术通常是基于MySQL数据库实现的。但是在实际应用中,当数据量较大,或数据查询量较大时,采用上述方式对数据进行处理实现排序,对系统或硬件的性能具有较高的要求,且通常需要通过增加缓存的方式来提高数据查询的效率。
发明内容
本公开提供了一种数据处理方法、数据处理装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善现有技术中数据处理效率较低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种数据处理方法,包括:获取待处理数据表;对所述待处理数据表中预设字段下的原始数据进行编码,得到所述原始数据对应的编码数据;以所述待处理数据表的元组为单位,对所述原始数据对应的编码数据进行合并,得到各元组对应的目标数据;根据所述目标数据对所述待处理数据表的元组进行排序。
根据本公开的第二方面,提供一种数据处理装置,包括:数据表获取模块,用于获取待处理数据表;编码数据获取模块,用于对所述待处理数据表中预设字段下的原始数据进行编码,得到所述原始数据对应的编码数据;目标数据确定模块,用于以所述待处理数据表的元组为单位,对所述原始数据对应的编码数据进行合并,得到各元组对应的目标数据;数据表排序模块,用于根据所述目标数据对所述待处理数据表的元组进行排序。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的数据处理方法及其可能的实现方式。
根据本公开的第四方面,提供一种电子设备,包括:处理器;存储器,用于存储所述处理器的可执行指令。其中,所述处理器配置为经由执行所述可执行指令,来执行上述第一方面的数据处理方法及其可能的实现方式。
本公开的技术方案具有以下有益效果:
获取待处理数据表;对待处理数据表中预设字段下的原始数据进行编码,得到原始数据对应的编码数据;以待处理数据表的元组为单位,对原始数据对应的编码数据进行合并,得到各元组对应的目标数据;根据目标数据对待处理数据表的元组进行排序。一方面,本示例性实施例提出一种新的数据处理方法,通过对预设字段下的原始数据进行编码,并基于编码数据得到的目标数据对待处理数据表进行排序,实现了将多个预设字段的原始数据映射为一个目标数据,通过对该目标数据进行排序,以对整个待处理数据表进行有效、准确的管理;另一方面,本示例性实施例对数据处理的过程较为简洁,且对性能的要求较低,在数据量较大的应用场景中仍然能够具有较好的数据处理效果,适用范围较广。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种电子设备的结构图;
图2示出本示例性实施方式中一种数据处理方法的流程图;
图3示出本示例性实施方式中一种数据处理方法的子流程图;
图4示出本示例性实施方式中另一种数据处理方法的子流程图;
图5示出本示例性实施方式中另一种数据处理方法的流程图;
图6示出本示例性实施方式中一种数据处理装置的结构图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开的示例性实施方式还提供一种电子设备,用于执行上述数据处理方法。一般的,电子设备包括处理器和存储器。存储器用于存储处理器的可执行指令,也可以存储应用数据,如图像数据、游戏数据等;处理器配置为经由执行可执行指令来执行本示例性实施方式中的数据处理方法。
下面以图1中的移动终端100为例,对上述电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图1中的构造也能够应用于固定类型的设备。
如图1所示,移动终端100具体可以包括:处理器110、内部存储器121、外部存储器接口122、USB(Universal Serial Bus,通用串行总线)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器171、受话器172、麦克风173、耳机接口174、传感器模块180、显示屏幕190、摄像模组191、指示器192、马达193、按键194以及SIM(Subscriber Identification Module,用户标识模块)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。编码器可以对图像或视频数据进行编码(即压缩);解码器可以对图像或视频的码流数据进行解码(即解压缩),以还原出图像或视频数据。移动终端100可以支持一种或多种编码器和解码器。
在一些实施方式中,处理器110可以包括一个或多个接口,通过不同的接口和移动终端100的其他部件形成连接。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括易失性存储器、非易失性存储器等。处理器110通过运行存储在内部存储器121的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端100的各种功能应用以及数据处理。
外部存储器接口122可以用于连接外部存储器,例如Micro SD卡,实现扩展移动终端100的存储能力。外部存储器通过外部存储器接口122与处理器110通信,实现数据存储功能,例如存储音乐,视频等文件。
USB接口130是符合USB标准规范的接口,可以用于连接充电器为移动终端100充电,也可以连接耳机或其他电子设备。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为设备供电;电源管理模块141还可以监测电池的状态。
移动终端100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块150可以提供应用在移动终端100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在移动终端100上的包括WLAN(Wireless LocalArea Networks,无线局域网)(如Wi-Fi(Wireless Fidelity,无线保真)网络)、BT(Bluetooth,蓝牙)、GNSS(Global Navigation Satellite System,全球导航卫星系统)、FM(Frequency Modulation,调频)、NFC(Near Field Communication,近距离无线通信技术)、IR(Infrared,红外技术)等无线通信解决方案。
移动终端100可以通过GPU、显示屏幕190及AP等实现显示功能,显示用户界面。
移动终端100可以通过ISP、摄像模组191、编码器、解码器、GPU、显示屏幕190及AP等实现拍摄功能,还可以通过音频模块170、扬声器171、受话器172、麦克风173、耳机接口174及AP等实现音频功能。
传感器模块180可以包括深度传感器1801、压力传感器1802、陀螺仪传感器1803、气压传感器1804等,以实现不同的感应检测功能。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。马达193可以产生振动提示,也可以用于触摸振动反馈等。按键194包括开机键,音量键等。
移动终端100可以支持一个或多个SIM卡接口195,用于连接SIM卡,以实现通话以及数据通信等功能。
以直播间的用户数据为例,当需要将直播间的观众数据,按照打赏金额、用户类型和进入直播间的时间进行排序时,现有技术是基于MySQL数据库进行字段排序的,实现方式如下所示:
其中,“room_online_user”表示当前数据来源为一直播间的在线用户列表中的用户数据,“souce”表示主播来源,“anchorId”表示主播ID(Identity document,身份标识号),“showId”表示直播间流水ID,“rewardPrice DESC”表示用户当场直播打赏金额,“userType DESC”表示直播间观众为游客或用户,“enterTimestamp DESC”表示观众的进场时间等。
但是,上述方式仅能在对性能要求不高的情况下进行。若数据量较大或查询量较大时,数据库容易出现瓶颈,通常需要通过增加缓存的方式在执行数据的排序过程,影响数据处理的效率。
基于上述问题,本示例性实施例提出一种数据处理方法,图2示出了本示例性实施例中数据处理方法的示例性流程,包括以下步骤S210至S240:
步骤S210,获取待处理数据表。
其中,待处理数据表中可以包括一个或多个用户的原始数据,每个用户的原始数据可以是待处理数据表中的一条数据记录,根据应用场景的不同,原始数据可以包括多种,例如直播平台中直播间的用户数据表,其中可以包括用户(如观众)的基本信息、观看信息或者打赏信息等原始数据;在电商平台中的用户数据表,其中包括用户的个人信息、购物记录、加购记录、喜好偏爱等原始数据等。
在本示例性实施例中,待处理数据表可以直接获取,例如获取当前直播间内所有用户或部分用户的原始数据;也可以通过逐步累计的方式生成待处理数据表,例如获取当前直播间内用户的原始数据,并在有新用户进入直播间时,将新用户的原始数据添加至待处理数据表中,以更新或建立待处理数据表等。
步骤S220,对待处理数据表中预设字段下的原始数据进行编码,得到原始数据对应的编码数据。
预设字段可以是指待处理数据表中数据的属性或属性关键词,例如当待处理数据表为直播间用户的数据表时,预设字段可以是指直播间用户的用户ID、用户类型、打赏次数、打赏金额、观看时间、进场时间等数据属性,或者ID、类型、次数、金额、时间等属性关键词等。预设字段下的原始数据即为对应上述属性或属性关键词的数据,例如用户类型为用户为游客或非游客(如注册用户或会员),具体的打赏次数,或具体的打赏金额等。
在本示例性实施例中,对预设字段下的原始数据进行编码,可以得到对应的编码数据,可以基于Redis(Remote Dictionary Server,远程服务字典)的数据结构将上述原始数据转换为浮点数。
在一示例性实施例中,上述待处理数据表包括多个预设字段,例如在上述直播间用户数据表中,预设字段可以包括用户ID、用户类型、打赏次数、打赏金额、观看时间、进场时间等多个属性。其中,每个预设字段具有对应的编码位长,该编码位长是指原始数据被编码后,得到的编码数据所占得位长,例如打赏金额可以设置具有对应的8个编码位长,即对打赏金额的原始数据进行编码时,生成的编码数据可以为8位;用户类型可以设置具有对应的1个编码位长;进入直播间的时间可以设置具有对应的20个编码位长等。需要说明的是,上述编码位长仅为示意性说明,还可以根据需要设置其他数值的编码位长。
则对应的,上述步骤S220中,对待处理数据表中预设字段下的原始数据进行编码,可以包括:
对待处理数据表中各预设字段下的原始数据按照各预设字段对应的编码位长进行编码。
即当待处理数据表中具有多个预设字段时,可以对每个预设字段下的原始数据按照对应的编码位长进行编码,使得每个预设字段下的原始数据进行编码后,可以得到对应编码位长的编码数据,例如对打赏金额的原始数据进行编码,生成8位的编码数据。
在一示例性实施例中,上述处理处理方法可以包括:
根据每个预设字段的数值范围,确定每个预设字段对应的编码位长。
本示例性实施例可以根据每个预设字段的数值范围,确定每个预设字段对应的编码位长,例如用户类型可以包括用户为游客或非游客两种情况,通常可以通过0或1来表示,也即,其数值范围为[0,1],因此,可以确定用户类型这一预设字段对应的编码位长为1;而打赏金额可以随着用户的打赏行为其数值也会增大,即数值范围较大,因此可以考虑设置对应的编码位长为8位等等。
步骤S230,以待处理数据表的元组为单位,对原始数据对应的编码数据进行合并,得到各元组对应的目标数据。
在待处理数据表中,每一条数据记录可以认为是一个元组,例如在直播间的用户数据表中,每个元组为每个用户的数据记录,即数据表中的每行数据记录对应一个用户在直播间中的数据。以元组为单位,对原始数据对应的编码数据进行合并,是指在每个元组中,对每个预设字段对应的原始数据转换的编码数据进行合并,合并后,可以得到该元组的目标数据,例如根据直播间的用户数据表,对其中某一用户数据所在的元组进行处理,将该用户数据中,属性为用户类型、打赏金额和观看时间的原始数据转换为编码数据,并将这些编码数据进行合并,可以生成该用户对应的目标数据。其中,目标数据可以是基于这一用户的数据得到的评分数据,反映该用户数据的综合水平。具体的,可以将各个编码数据拼接得到,例如将多个二进制的编码数据拼接得到,也可以根据各个编码数据进行再次计算得到,例如将拼接得到的二进制编码数据转换为十进制编码数据,本公开对此不做具体限定。另外,本示例性实施例可以根据目标数据建立一新的列表,该列表与每个元组具有映射关系,通过该映射关系可以在列表中查找到每个元组对应的目标数据;也可以直接在原来的待处理数据表中新增一列数据,即对待处理数据表增加新的字段,将目标数据插入其中,生成包含目标数据的待处理数据表等等,本公开对此不做具体限定。
在一示例性实施例中,上述各预设字段对应的编码位长之和为64位。
也即,本示例性实施例可以设置编码数据拼接后的总编码位长为64位,例如设置目标数据为双精度64位的浮点数。在这64位的目标数据中,可以包括多个预设字段的原始数据编码得到的对应的编码数据,其能包括的整数范围为[-253,+253]。本示例性实施例可以对待处理数据表中的多个预设字段分别编码,并根据对应的编码数据生成目标数据存储,实现了将多个预设字段的原始数据映射为一个数值,通过该数值可以对待处理数据表进行有效管理。
在一示例性实施例中,上述步骤S230可以包括以下步骤:
按照预设字段间的优先级顺序,对每个元组中原始数据对应的编码数据进行拼接,得到每个元组对应的目标数据。
考虑到本示例性实施例可以对预设字段下的原始数据进行编码,并将编码数据进行拼接,以生成每个元组对应的目标数据。而不同的拼接方式可以确定不同的目标数据。因此,本示例性实施例可以对不同的预设字段设置优先级,并按照预设字段间的优先级顺序,对每个元组中原始数据对应的编码数据进行拼接,例如设置打赏金额的优先级高于用户类型的优先级高于进入直播间的时间的优先级,则确定的目标数据的编码顺序由高位至低位将分别为打赏金额、用户类型、进入直播间的时间;若设置打赏金额的优先级低于用户类型的优先级低于进入直播间的时间的优先级,则确定的目标数据的编码顺序由高位至低位将分别为进入直播间的时间、用户类型、打赏金额等。需要说明的是,各个预设字段的优先级顺序的设置可以根据需求进行自定义设置,本公开对此不做具体限定。
另外,本示例性实施例还可以根据预设字段的排列或不同的优先级顺序,生成不同的目标数据,在用户进行数据查询时,根据用户的不同查询需求,确定对应的目标数据,例如可以根据用户需求返回以打赏金额、用户类型、进入直播间的时间为顺序生成的目标数据,或者以进入直播间的时间、用户类型、打赏金额为顺序生成的目标数据等。
在一示例性实施例中,上述数据处理方法还可以包括以下步骤:
根据数据查询请求确定预设字段间的优先级顺序。
在实际应用中,本示例性实施例可以根据查询请求确定预设字段间的优先级顺序,例如在直播间用户数据表中,在进行数据查询时往往更关注打赏金额,则可以对打赏金额设置更高的优先级顺序,而对进入直播间的时间关注度较低,则可以对进入直播间的时间设置较低的优先级顺序等。
步骤S240,根据目标数据对待处理数据表的元组进行排序。
进一步的,本示例性实施例可以根据目标数据对待处理数据表中的元组进行排序,例如可以根据目标数据对直播间中的用户数据进行升序排序或者降序排序。具体的,可以直接根据目标数据进行排序,也可以对目标数据进行再次编码处理,例如目标数据可以是二进制的分值数据,为了便于排序处理,可以将二进制的分值数据转换为十进制的分值数据,进行排序。
在一示例性实施例中,如图3所示,上述步骤S240可以包括以下步骤:
步骤S310,提取待处理数据表中各元组的索引数据,并以各元组对应的目标数据作为索引数据的权重,生成有序集合;
步骤S320,利用有序集合对待处理数据表的元组进行排序。
本示例性实施例可以基于Redis的ZSET(有序集合)的数据结构实现多个预设字段的实时排序,具体的,可以先提取待处理数据表中各元组的索引数据,如用户ID或元组标识等,并以个元组对应的目标数据作为索引数据的权重,生成有序集合,进一步,根据该有序集合对待处理数据表的元组,按照每个元组对应的目标数据的大小,进行排序。
综上,本示例性实施方式中,获取待处理数据表;对待处理数据表中预设字段下的原始数据进行编码,得到原始数据对应的编码数据;以待处理数据表的元组为单位,对原始数据对应的编码数据进行合并,得到各元组对应的目标数据;根据目标数据对待处理数据表的元组进行排序。一方面,本示例性实施例提出一种新的数据处理方法,通过对预设字段下的原始数据进行编码,并基于编码数据得到的目标数据对待处理数据表进行排序,实现了将多个预设字段的原始数据映射为一个目标数据,通过对该目标数据进行排序,以对整个待处理数据表进行有效、准确的管理;另一方面,本示例性实施例对数据处理的过程较为简洁,且对性能的要求较低,在数据量较大的应用场景中仍然能够具有较好的数据处理效果,适用范围较广。
在一示例性实施例中,在步骤S230,得到各元组对应的目标数据之后,上述数据处理方法还可以包括以下步骤:
对各元组对应的目标数据进行偏移处理。
考虑到本示例性实施例中,是根据确定的目标数据对待处理数据表进行排序管理,只需要考虑目标数据之间的大小差异,而无需关注目标数据的具体数值。为了能够使目标数据的取值范围更大,本示例性实施例可以将负区间也利用起来,通过对目标数据进行偏移处理,例如在采用Redis的ZSET的数据结构实现多字段实时排序时,可以将原始数据减去一个偏移量,如253,从而提升目标数据的上限,例如,在未进行偏移处理之前,直播间数据打赏金额超过八千五百万将会丢失精度,在进行偏移处理之后,打赏金额超过一亿七千万才会丢失精度。另外,偏移处理还可以是,先对得到的目标数据进行归一化处理,然后减去平均值,以确定新的目标数据,通过该方式也能够扩大目标数据取值范围,实现对更多的数据进行管理与排序。
在一示例性实施例中,当待处理数据表为直播间的用户数据表,待处理数据表的每个元组为每个用户的数据记录时,预设字段可以包括用户打赏金额、用户类型以及用户进入直播间的时间。
当预设字段为用户打赏金额时,可以直接将金额数值映射为编码数据,例如转换为二进制的编码数据;当预设字段为用户类型时,可以将用户类型为游客的映射为编码数据“0”,将用户类型为注册用户(如会员)的映射为“1”,另外,用户类型还可以是用户的会员等级等,本公开对此不做具体限定。
当预设字段为用户进入直播间的时间时,如图4所示,上述步骤S220可以包括以下步骤:
步骤S410,将每个用户进入直播间的时间减去直播间的开播时间,得到每个用户的入场延迟数据;
步骤S420,对入场延迟数据进行编码,得到对应的编码数据。
在直播平台中,每个直播间开播时均具有一个开播时间,每个用户进入直播间时,也具有对应的进场时间,为了能够准确的确定不同直播间中用户进入直播间的时间,本示例性实施例可以使用用户的进场时间减去直播间的开播时间,对得到的入场延迟数据进行编码,作为用户的进场时间这一预设字段下的编码数据。
如下表1所示:
表1
在表1中,将用户ID为1~6的用户数据,根据预设字段打赏金额、用户类型以及进场时间,编码生成二进制的分值数据,进一步对二进制的分值数据进行编码,生成最终的分值。其中,在二进制的分值中,前8位表示根据打赏金额预设字段下的原始数据编码得到的编码数据,第9位表示根据用户类型预设字段下的原始数据编码得到的编码数据,后20位表示根据进场时间预设字段下的原始数据编码得到的编码数据,本示例性实施例仅对分值进行示意性说明,并不限定分值位数为表1中的29位,在目标数据的编码位长为64位时,可以设置其编码位长的分配由高位至低位分别为1位符号位,42位打赏金额,1位用户类型,以及20位进入直播间时间。
在一示例性实施例中,上述待处理数据表的每个元组为每个用户的统计数据记录,上述数据处理方法还可以包括:
根据任一用户在直播间的行为数据,更新任一用户的统计数据记录,以更新任一用户对应的目标数据以及在待处理数据表中的排序。
在实际应用中,如打赏次数以及打赏金额等预设字段下的原始数据可能会根据用户在直播间的操作行为发生变化,例如用户刚进入直播间时,其打赏金额为0,当用户对当前直播间的主播进行打赏时,打赏金额将会发生变化,因此,本示例性实施例可以根据用户在直播间的行为数据,对用户的统计数据进行更新,并基于更新后的用户的统计数据更新该用户对应元组的目标数据,进一步,对更新后的目标数据对待处理数据表进行排序更新。
举例说明,如上表1,当用户4打赏了192水晶(打赏道具)时,此时,分值排序将变成表2,如下所示:
表2
在上述直播间的用户数据表中,若数值较大,则可能出现丢失精度的情况,例如用户1打赏四百三十亿个水晶与用户2打赏四百四十亿个水晶可能会出现分值相同的情况,而当打赏金额在八千五百万水晶以下时,可以不丢失精度,因此,可以设置打赏金额的上限值为八千五百万水晶,进入直播间的时间可以设置为220(秒),约为12天。
针对直播间的用户数据表,图5示出了本示例性实施例中另一种数据处理流程图,具体可以包括以下步骤:
步骤S510,开启直播间;
步骤S520,用户进入直播间;
步骤S530,将用户当前的数据添加至直播间的用户数据表中;
步骤S540,计算用户当前的数据的目标数据,根据目标数据对直播间的用户数据表进行排序;
步骤S550,检测是否接收到用户在当前直播间内进行的特定行为操作;
若接收到用户在当前直播间内进行的特定行为操作,则执行步骤S560,更新用户当前的统计数据;
步骤S570,根据更新后的统计数据重新计算目标数据;
步骤S580,根据重新计算得到的目标数据,更新直播间的用户数据表的排序。
其中,步骤S530中,用户当前的数据可以是指用户进入直播间就具有的数据,例如用户ID或进入直播间的时间等。步骤S550中,进行的特定行为操作可以包括评论操作、打赏操作等等。在步骤S550之后,若未接收到用户在当前直播间内进行的特定行为操作,则可以返回继续执行步骤S550,不对当前直播间的用户数据表进行更新。另外,在实际应用中,每次对直播间的用户数据表进行添加数据或更新时,都可以广播消息到直播间,以更新其他用户的客户端的直播数据,以实现直播间的数据进行同步更新。
在本示例性实施例中,直播间的用户数据表根据用户的打赏金额、用户类型以及进场时间进行排序时,可以通过以下代码实现:
采用本示例性实施例后,在进行数据查询时,QPS(Query Per Second,每秒请求数)为40000,相比于现有技术中采用数据库的方式,QPS为4000,其查询性能提高了十倍。
另外,在本示例性实施例中,采用Reids有序集合的方式进行字段排序,可以支持按照目标数据的大小分页查询。具体的,考虑到查询时,若将上一页最后一条记录的目标数据作为下一页目标数据查询的上限,则可能会出现忽略与最后一条记录的目标数据相等的情况。因此,本示例性实施例还可以将上一页最后一条记录的目标数据减去1,作为下一页目标数据查询的上限,以减少分页排序数据重复的概率。
本公开的示例性实施方式还提供一种数据处理装置。如图6所示,该数据处理装置600可以包括:数据表获取模块610,用于获取待处理数据表;编码数据获取模块620,用于对待处理数据表中预设字段下的原始数据进行编码,得到原始数据对应的编码数据;目标数据确定模块630,用于以待处理数据表的元组为单位,对原始数据对应的编码数据进行合并,得到各元组对应的目标数据;数据表排序模块640,用于根据目标数据对待处理数据表的元组进行排序。
在一示例性实施例中,待处理数据表包括多个预设字段,每个预设字段具有对应的编码位长;编码数据获取模块包括:编码单元,用于对待处理数据表中各预设字段下的原始数据按照各预设字段对应的编码位长进行编码。
在一示例性实施例中,数据处理装置还包括:位长确定模块,用于根据每个预设字段的数值范围,确定每个预设字段对应的编码位长。
在一示例性实施例中,各预设字段对应的编码位长之和为64。
在一示例性实施例中,数据处理装置还包括:偏移处理单元,用于在得到各元组对应的目标数据之后,对各元组对应的目标数据进行偏移处理。
在一示例性实施例中,目标数据确定模块包括:数据拼接单元,用于按照预设字段间的优先级顺序,对每个元组中原始数据对应的编码数据进行拼接,得到每个元组对应的目标数据。
在一示例性实施例中,数据处理装置还包括:优先级确定单元,用于根据数据查询请求确定预设字段间的优先级顺序。
在一示例性实施例中,数据表排序模块包括:有序集合生成单元,用于提取待处理数据表中各元组的索引数据,并以各元组对应的目标数据作为索引数据的权重,生成有序集合;排序单元,用于利用有序集合对待处理数据表的元组进行排序。
在一示例性实施例中,待处理数据表包括直播间的用户数据表,待处理数据表的每个元组为每个用户的数据记录。
在一示例性实施例中,预设字段包括进入直播间的时间;编码数据获取模块包括:延迟数据获取单元,用于将每个用户进入直播间的时间减去直播间的开播时间,得到每个用户的入场延迟数据;编码数据获取单元,用于对入场延迟数据进行编码,得到对应的编码数据。
在一示例性实施例中,待处理数据表的每个元组为每个用户的统计数据记录;数据处理装置还包括:数据更新模块,用于根据任一用户在直播间的行为数据,更新任一用户的统计数据记录,以更新任一用户对应的目标数据以及在待处理数据表中的排序。
上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,因而不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为程序产品的形式,包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图2、图3、图4或图5中任意一个或多个步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
获取待处理数据表;
对所述待处理数据表中预设字段下的原始数据进行编码,得到所述原始数据对应的编码数据;
以所述待处理数据表的元组为单位,对所述原始数据对应的编码数据进行合并,得到各元组对应的目标数据;
根据所述目标数据对所述待处理数据表的元组进行排序。
2.根据权利要求1所述的方法,其特征在于,所述待处理数据表包括多个预设字段,每个预设字段具有对应的编码位长;
所述对所述待处理数据表中预设字段下的原始数据进行编码,包括:
对所述待处理数据表中各预设字段下的原始数据按照各预设字段对应的编码位长进行编码。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据每个预设字段的数值范围,确定每个预设字段对应的编码位长。
4.根据权利要求2所述的方法,其特征在于,各预设字段对应的编码位长之和为64。
5.根据权利要求1所述的方法,其特征在于,在得到各元组对应的目标数据之后,所述方法还包括:
对各所述元组对应的目标数据进行偏移处理。
6.根据权利要求1所述的方法,其特征在于,所述以所述待处理数据表的元组为单位,对所述原始数据对应的编码数据进行合并,得到各元组对应的目标数据,包括:
按照所述预设字段间的优先级顺序,对每个元组中所述原始数据对应的编码数据进行拼接,得到每个元组对应的目标数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据数据查询请求确定所述预设字段间的优先级顺序。
8.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据对所述待处理数据表的元组进行排序,包括:
提取所述待处理数据表中各元组的索引数据,并以各元组对应的所述目标数据作为所述索引数据的权重,生成有序集合;
利用所述有序集合对所述待处理数据表的元组进行排序。
9.根据权利要求1所述的方法,其特征在于,所述待处理数据表包括直播间的用户数据表,所述待处理数据表的每个元组为每个用户的数据记录。
10.根据权利要求9所述的方法,其特征在于,所述预设字段包括进入直播间的时间;
所述对所述待处理数据表中预设字段下的原始数据进行编码,得到所述原始数据对应的编码数据,包括:
将每个用户进入直播间的时间减去所述直播间的开播时间,得到每个用户的入场延迟数据;
对所述入场延迟数据进行编码,得到对应的编码数据。
11.根据权利要求9所述的方法,其特征在于,所述待处理数据表的每个元组为每个用户的统计数据记录;所述方法还包括:
根据任一用户在所述直播间的行为数据,更新所述任一用户的统计数据记录,以更新所述任一用户对应的目标数据以及在所述待处理数据表中的排序。
12.一种数据处理装置,其特征在于,包括:
数据表获取模块,用于获取待处理数据表;
编码数据获取模块,用于对所述待处理数据表中预设字段下的原始数据进行编码,得到所述原始数据对应的编码数据;
目标数据确定模块,用于以所述待处理数据表的元组为单位,对所述原始数据对应的编码数据进行合并,得到各元组对应的目标数据;
数据表排序模块,用于根据所述目标数据对所述待处理数据表的元组进行排序。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任一项所述的方法。
14.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110069973.0A CN112732722A (zh) | 2021-01-19 | 2021-01-19 | 数据处理方法、数据处理装置、存储介质与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110069973.0A CN112732722A (zh) | 2021-01-19 | 2021-01-19 | 数据处理方法、数据处理装置、存储介质与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112732722A true CN112732722A (zh) | 2021-04-30 |
Family
ID=75592475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110069973.0A Pending CN112732722A (zh) | 2021-01-19 | 2021-01-19 | 数据处理方法、数据处理装置、存储介质与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732722A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076328A (zh) * | 2021-06-08 | 2021-07-06 | 中航信移动科技有限公司 | 一种疫情数据处理系统 |
CN113128906A (zh) * | 2021-05-11 | 2021-07-16 | 广州博冠信息科技有限公司 | 直播数据的处理方法、装置、电子设备及计算机可读介质 |
CN113407537A (zh) * | 2021-06-15 | 2021-09-17 | 维沃移动通信有限公司 | 数据处理方法、装置及电子设备 |
CN114442940A (zh) * | 2022-01-04 | 2022-05-06 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150120739A1 (en) * | 2013-10-31 | 2015-04-30 | International Business Machines Corporation | System, method, and program for performing aggregation process for each piece of received data |
CN106126559A (zh) * | 2016-06-16 | 2016-11-16 | 天脉聚源(北京)传媒科技有限公司 | 一种数据处理方法及装置 |
CN109766497A (zh) * | 2019-01-22 | 2019-05-17 | 网易(杭州)网络有限公司 | 排行榜生成方法及装置、存储介质、电子设备 |
CN112230819A (zh) * | 2020-11-02 | 2021-01-15 | 深圳市欢太科技有限公司 | 信息处理方法、信息处理装置、存储介质与电子设备 |
-
2021
- 2021-01-19 CN CN202110069973.0A patent/CN112732722A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150120739A1 (en) * | 2013-10-31 | 2015-04-30 | International Business Machines Corporation | System, method, and program for performing aggregation process for each piece of received data |
CN106126559A (zh) * | 2016-06-16 | 2016-11-16 | 天脉聚源(北京)传媒科技有限公司 | 一种数据处理方法及装置 |
CN109766497A (zh) * | 2019-01-22 | 2019-05-17 | 网易(杭州)网络有限公司 | 排行榜生成方法及装置、存储介质、电子设备 |
CN112230819A (zh) * | 2020-11-02 | 2021-01-15 | 深圳市欢太科技有限公司 | 信息处理方法、信息处理装置、存储介质与电子设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113128906A (zh) * | 2021-05-11 | 2021-07-16 | 广州博冠信息科技有限公司 | 直播数据的处理方法、装置、电子设备及计算机可读介质 |
CN113128906B (zh) * | 2021-05-11 | 2024-02-27 | 广州博冠信息科技有限公司 | 直播数据的处理方法、装置、电子设备及计算机可读介质 |
CN113076328A (zh) * | 2021-06-08 | 2021-07-06 | 中航信移动科技有限公司 | 一种疫情数据处理系统 |
CN113076328B (zh) * | 2021-06-08 | 2021-08-24 | 中航信移动科技有限公司 | 一种疫情数据处理系统 |
CN113407537A (zh) * | 2021-06-15 | 2021-09-17 | 维沃移动通信有限公司 | 数据处理方法、装置及电子设备 |
WO2022262663A1 (zh) * | 2021-06-15 | 2022-12-22 | 维沃移动通信有限公司 | 数据处理方法、装置及电子设备 |
CN113407537B (zh) * | 2021-06-15 | 2024-02-06 | 维沃移动通信有限公司 | 数据处理方法、装置及电子设备 |
CN114442940A (zh) * | 2022-01-04 | 2022-05-06 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112732722A (zh) | 数据处理方法、数据处理装置、存储介质与电子设备 | |
CN112037792B (zh) | 一种语音识别方法、装置、电子设备及存储介质 | |
CN108668143B (zh) | 一种引流方法、装置、服务器和存储介质 | |
CN109684589B (zh) | 客户端的评论数据的处理方法、装置及计算机存储介质 | |
CN112463391B (zh) | 内存控制方法、内存控制装置、存储介质与电子设备 | |
CN114443897B (zh) | 一种视频推荐方法、装置、电子设备和存储介质 | |
CN110321447A (zh) | 重复图像的确定方法、装置、电子设备及存储介质 | |
CN110795446A (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN113343895B (zh) | 目标检测方法、目标检测装置、存储介质与电子设备 | |
CN114416723B (zh) | 一种数据的处理方法、装置、设备及存储介质 | |
CN110909241A (zh) | 信息推荐方法、用户标识推荐方法、装置及设备 | |
CN113343069A (zh) | 用户信息的处理方法、装置、介质及电子设备 | |
EP4343717A1 (en) | Image layering method and apparatus, electronic device, and storage medium | |
CN117130998A (zh) | 日志信息的处理方法、装置、设备及存储介质 | |
CN116541174A (zh) | 存储设备容量处理方法、装置、设备及存储介质 | |
CN113986958B (zh) | 文本信息的转换方法、装置、可读介质和电子设备 | |
CN110781066A (zh) | 用户行为分析方法、装置、设备及存储介质 | |
CN107888951B (zh) | 片单管理方法、装置及服务器 | |
CN115757756A (zh) | 内容检索方法、装置、介质及电子设备 | |
CN114648712B (zh) | 视频分类方法、装置、电子设备及计算机可读存储介质 | |
CN113033190B (zh) | 字幕生成方法、装置、介质及电子设备 | |
CN114495081A (zh) | 文本识别的方法、装置、可读介质和电子设备 | |
CN110545107B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN110389805B (zh) | 一种信息展示方法、装置、设备及存储介质 | |
CN112417276A (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 |