CN112333482B - 一种列表的处理方法、装置、设备和存储介质 - Google Patents
一种列表的处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112333482B CN112333482B CN201910718605.7A CN201910718605A CN112333482B CN 112333482 B CN112333482 B CN 112333482B CN 201910718605 A CN201910718605 A CN 201910718605A CN 112333482 B CN112333482 B CN 112333482B
- Authority
- CN
- China
- Prior art keywords
- service
- list
- page
- code
- document
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4825—End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种列表的处理方法、装置、设备和存储介质。该方法通过响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据;获取与所述业务页面关联的、设置有排序方式的中介码文档;将所述中介码文档转换为可执行的机器码程序;执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表;将所述业务列表发送至所述业务页面进行显示,实现对排序方式的热更新,而不需要进行重启服务器,并减少开发人员的开发时间、避免业务重新上线的等待时间。
Description
技术领域
本发明实施例涉及直播技术,尤其涉及一种列表的处理方法、装置、设备和存储介质。
背景技术
现有技术中,可以在直播平台中按照各种维度(例如,活跃度、观看人数、个人喜好或者直播内容等)的组合对主播进行排序,得到有序列表。进一步的,观众通过在该有序列表中选择排序靠前的直播,可以以最少的切换率找到实际所需观看的直播间,进而减少了观众时间和流量的消耗。
发明人在实现本发明的过程中发现:直播平台的业务繁多、每种业务的所对应的有序列表的排序方式存在不同。另外,业务的迭代更新,也会使得业务的所对应的有序列表的排序方式发生更改。具体的,在业务的所对应的有序列表的排序方式需要更新时,需要直接更改该排序方式对应的代码、编译代码、重启服务器等操作,增加了开发人员的开发时间,也增加直播平台重新上线的等待时间。另外,也导致在更新排序方式时,该有序列表为空的情况发生,严重影响浏览该有序列表的流畅度。
发明内容
本发明提供一种列表的处理方法、装置、设备和存储介质,以实现对排序方式的热更新,而不需要进行重启服务器,并减少开发人员的开发时间、避免业务重新上线的等待时间。
第一方面,本发明实施例提供了一种列表的处理方法,该方法包括:
响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据;
获取与所述业务页面关联的、设置有排序方式的中介码文档;
将所述中介码文档转换为可执行的机器码程序;
执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表;
将所述业务列表发送至所述业务页面进行显示。
进一步的,所述获取与所述业务页面关联的、设置有排序方式的中介码文档,包括:
确定所述业务页面所属的业务类型;
获取与所述业务类型匹配的、预先编译有排序方式的中介码文档。
进一步的,所述获取与所述业务类型匹配的、预先编译有排序方式的中介码文档,包括:
确定为所述业务页面配置的文件名和函数名;
获取与所述文件名匹配的汇编文件;
从所述汇编文件中获取与所述函数名匹配的中介码文档,其中,所述中介码文档设置有针对业务数据的排序方式。
进一步的,所述将所述中介码文档转换为可执行的机器码程序,包括:
确定对所述业务数据进行排序的架构***;
将所述中介码文档转换为与所述架构***匹配的机器码程序。
进一步的,所述执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表,包括:
为所述机器码程序分配内存空间;
将所述内存空间的首地址,作为函数指针所指向的地址;
调用所述函数指针,并将所述业务数据作为所述函数指针的传入参数,以依次运行所述内存空间中的机器码程序,对所述业务数据进行排序;
将输出的运行结果,作为业务列表。
进一步的,所述业务数据包括主播用户的在第一周期的第一订单量、在第二周期的第二订单量;
所述执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表,包括:
从所述业务数据中读取主播用户;
生成包括所述主播用户的业务列表;
对所述业务列表中的主播用户,依据所述第一订单量确定所述主播用户在所述业务列表中的排序;
依据所述第二订单量调整所述排序。
第二方面,本发明实施例还提供了一种列表的处理方法,该方法包括:
获取与业务页面关联的、设置有排序方式的源代码文件;
将所述源代码文件编译为中介码文档;
当确定所述业务页面接收到访问操作时,向设置所述业务页面的服务器发送所述中介码文档,以对待显示在所述业务页面的业务数据进行排序,得到业务列表。
第三方面,本发明实施例还提供了一种列表的处理装置,该装置包括:
业务数据获取模块,用于响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据;
中介码获取模块,用于获取与所述业务页面关联的、设置有排序方式的中介码文档;
转换模块,用于将所述中介码文档转换为可执行的机器码程序;
执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表;
显示模块,用于将所述业务列表发送至所述业务页面进行显示。
第四方面,本发明实施例还提供了一种列表的处理装置,该装置包括:
源代码获取模块,用于获取与业务页面关联的、设置有排序方式的源代码文件;
编译模块,用于将所述源代码文件编译为中介码文档;
发送模块,用于当确定所述业务页面接收到访问操作时,向设置所述业务页面的服务器发送所述中介码文档,以对待显示在所述业务页面的业务数据进行排序,得到业务列表。
第五方面,本发明实施例还提供了一种列表的处理设备,该设备包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第二方面中任一所述的列表的处理方法。
第六方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面或第二方面中任一所述的列表的处理方法。
本发明通过响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据;获取与所述业务页面关联的、设置有排序方式的中介码文档;将所述中介码文档转换为可执行的机器码程序;执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表;将所述业务列表发送至所述业务页面进行显示,解决了因业务的迭代更新需要更新排序方式所带来的需要重新编译代码、并重启服务器的问题,实现对排序方式的热更新,并减少开发人员的开发时间、避免业务重新上线的等待时间。
附图说明
图1A为本发明实施例一提供的一种列表的处理方法的流程图;
图1B为本发明实施例一提供的一种列表的示意图;
图2为本发明实施例二提供的一种列表的处理方法的流程图;
图3为本发明实施例三提供的一种列表的处理装置的结构示意图;
图4为本发明实施例四提供的一种列表的处理装置的结构示意图;
图5为本发明实施例五提供的一种列表的处理设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1A为本发明实施例一提供的一种列表的处理方法的流程图,图1B为本发明实施例一提供的一种列表的示意图。本实施例可适用于直播平台中对业务数据进行排序的情况,具体的,可以适用于在不重启服务器的情况下,更换业务数据的排序方式的应用场景。
该方法可以由列表的处理设备来执行,该列表的处理设备可以是服务器,该服务器可以是集群服务器或独立服务器。
参考图1A,该方法用于对业务数据按照排序方式进行排序,具体包括如下步骤:
S110、响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据。
本实施例中,业务页面是用于显示业务数据的图形用户界面,可以与用户进行交互,以执行相关的业务操作。
一般的,服务器(如列表的处理设备)可以对业务页面进行设置,并向外提供访问该业务页面的入口信息。访问操作可以是客户端通过该入口信息所发送的、用于获取业务页面的请求。进一步的,服务器在接收到用户的客户端发送的访问操作时,可以响应该访问操作,将业务页面返回该客户端。
本实施例中,业务数据是用户在参与业务过程中所产生的数据。列表的处理设备可以基于该业务数据生成各类有序的业务列表。
以直播的场景为例进行说明,该业务列表可以是关于主播用户的排行列表、直播内容的排行列表、观众用户的排行列表等。
以主播用户的排行列表为例进行说明,客户端可以是直播平台提供的软件或者浏览器,可以用于显示业务页面。该业务页面可以用于显示主播用户的排行列表,则该业务数据包括显示在业务页面上的主播用户的用户数据。其中,该用户数据可以包括用户名称、用户头像、用户等级等。客户端可以通过访问操作获取该排行列表,并进一步通过该排行列表访问主播用户。
需要注意的是,列表的处理设备可以基于业务数据的不同维度,获取具有不同排序方式的业务列表。
以直播的场景为例进行说明,在直播平台中可以按照各种维度(例如,活跃度、观看人数、个人喜好或者直播内容等)的组合对主播进行排序,得到不同业务对应的业务列表。示例性的,业务数据可以包括:主播用户的活跃度、观看人数等,进一步的,可以使用活跃度这一维度对主播用户进行第一次排序,之后再使用观看人数这一维度对第一次排序的结果进行调整,得到第二次排序,以此类推。进一步的,观众用户通过在该业务列表中选择排序靠前的主播用户,可以以最少的切换率找到实际所需观看的直播间,进而减少了观众时间和流量的消耗。
一般的,针对一项业务,业务列表中业务数据的排序方式都是服务器(如列表的处理设备)预先设置好的。当该业务的排序方式需要更改时,需要执行以下的步骤:
1)开发人员重新开发新的排序方式对应的源代码;
2)对该新的源代码进行编译等操作,得到可执行文件;
3)重启该服务器(如列表的处理设备)以加载新的可执行文件,用于为该项业务提供新的业务数据的排序方式。
这就增加了开发人员的开发时间,也增加直播平台重新上线的等待时间。另外,也导致在更新排序方式时,该有序列表为空的情况发生,严重影响浏览该有序列表的流畅度。
为此,本实施例中,对如何更新排序方式进行了改进,使用预先编译的中介码文档,来实现无需重启服务器,即可完成排序方式的更新的效果。
S120、获取与所述业务页面关联的、设置有排序方式的中介码文档。
本实施例中,中介码(Intermediate Representation,IR),一种类似汇编的底层语言,是底层虚拟机(Low Level Virtual Machine,LLVM)的核心。中介码文档为使用中介码表示的、设置有排序方式的文档。需要注意的是,所获取的中介码文档可以是以字符串的形式表示。该中介码文档可以转换为分别适用于多种不同架构***的机器码程序。
具体的,LLVM是一种编译器基础设施,包含一系列模块化的编译器组件和工具链,可以用于将前端语言编译成IR。LLVM当前支持Ada、C语言、C++、D语言、Fortran、Haskell、Julia(编程语言)、Objective-C、Rust及Swift(编程语言)等前端语言的编译。进一步的,LLVM可以将IR转换为分别适用于多种不同架构***的机器码程序。
其中,IR是一种强类型的精简指令集(Reduced Instruction Set Computing,RISC),并对目标指令集进行了抽象。例如,目标指令集的函数调用惯例被抽象为call和ret指令加上明确的参数。另外,IR采用无限个数的暂存器,使用如%0,%1等形式表达。LLVM支持三种表达形式:人类可读的汇编,在C++中对象形式和序列化后的bitcode形式。本实施例中,IR为人类可读的汇编。
本实施例中,可以将开发人员开发的新的排序方式对应的源代码,预先编译为中介码文档,保存在汇编文件中。
本实施例中,可以通过确定业务页面所属的业务类型;获取与业务类型匹配的、预先编译有排序方式的中介码文档。进一步的,该中介码文档可以是存储在服务器中,在需要时进行获取。具体的,可以通过确定为业务页面配置的文件名和函数名;获取与文件名匹配的汇编文件;从汇编文件中获取与函数名匹配的中介码文档,其中,中介码文档设置有针对业务数据的排序方式。具体的,在该汇编文件中记录有中介码文档,并使用函数名对中介码文档进行分块,每一块的中介码文档,对应于一种排序方式。该函数名可以是依据排序方式定义的名称。
S130、将所述中介码文档转换为可执行的机器码程序。
本实施例中,机器码又称机器指令(Machine Instructions)。机器指令是中央处理器(Central Processing Unit,CPU)能直接识别并执行的指令,它的表现形式是二进制编码。机器指令通常由操作码和操作数两部分组成,操作码指出该指令所要完成的操作,即指令的功能,操作数指出参与运算的对象,以及运算结果所存放的位置等。
本实施例中,一般的,可以设置有中介码与机器码一一对应的对照表。通过扫描查找该对照表可以将中介码文档快速地翻译为机器码程序。
本实施例中,可以通过确定对业务数据进行排序的架构***;将中介码文档转换为与架构***匹配的机器码程序。
具体的,LLVM机器码子项目是LLVM将机器指令从文字形式(如中介码的汇编语言)转换至机器码的形式。LLVM可以依靠***或是平台专门的工具链将汇编语言(如中介码)翻译为机器码。进一步的,也可以使用LLVM机器码的集成汇编器,且该集成汇编器已经支持绝大多数LLVM的架构***,如x86、x86-64、ARM和ARM64。
本实施例中,先将排序方式所对应的源代码编译成中介码文档,并在需要按照该排序方式对业务数据进行排序时,将该中介码文档转换为可执行的机器码程序,可以减少因更新排序方式时,由于编译所带来的延迟。并且,由于将源代码编译为中介码文档和将中介码文档转换为机器码程序可以设置为两个部分进行。只有在排序方式需要更新时,才需要将新的排序方式所对应的源代码编译为新的中介码文档。在一实施例中,可以设置在排序方式更新期间,可以使用在先的中介码文档,不涉及到需要重启服务器的情况。在又一实施例中,可以将新的排序方式所对应的中介码文档保存在预设区域,在确定使用新的排序方式时,使用新的中介码文档替换在先的中介码文档。
S140、执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表。
本实施例中,可以是通过为机器码程序分配内存空间;将内存空间的首地址,作为函数指针所指向的地址;调用函数指针,并将业务数据作为函数指针所指向的地址的传入参数,以依次运行内存空间中的机器码程序,对业务数据进行排序;将输出的运行结果,作为业务列表。
具体的,可以请求获取与机器码程序大小匹配的内存空间,并将该机器码程序存储到该内存空间。进一步的,本实施例中,函数指针是指向机器码程序的指针变量。该函数指针所指向的地址,可以作为机器码程序的入口地址。进一步的,可以通过调用该函数指针,来调用机器码程序。
在一实施例中,业务数据包括主播用户的在第一周期的第一订单量、在第二周期的第二订单量;执行该机器码程序,可以实现从业务数据中读取主播用户;生成包括主播用户的业务列表;对业务列表中的主播用户,依据第一订单量确定主播用户在业务列表中的排序;依据第二订单量调整排序。具体的,可以获取近30天主播用户已完成的订单数量,作为第一订单量;将主播用户按照该第一订单量从大到小进行第一次排序。进一步的,可以获取主播用户当天已完成的订单数量,作为第二订单量,将第一次排序的结果,再按下沉算法进行调整。如,当主播用户的第二订单量大于等于第一预设值a时,则将该主播用户向前调整至第n位。当主播用户的第二订单量大于等于第二预设值b时,则向前调整至第m位。其中,n和m均可以是预设值。
S150、将所述业务列表发送至所述业务页面进行显示。
本实施例中,业务页面在接收到该业务列表后,可以将该业务列表显示在业务页面上。
参照图1B,业务页面上所显示的业务列表为一种关于主播用户的排行列表。具体的,业务数据包括主播用户的订单量,该业务列表中的主播用户可以依据订单量这一维度进行排序。
本实施例的技术方案,通过响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据;获取与所述业务页面关联的、设置有排序方式的中介码文档;将所述中介码文档转换为可执行的机器码程序;执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表;将所述业务列表发送至所述业务页面进行显示,区别于在更新排序方式时,需要重新编译代码、并重启服务器的技术方案,本技术方案通过将源代码编译为中介码文档、将中介码文档转换为机器码程序,解决因重启服务器所带来的在重启期间业务列表为空的问题,实现对排序方式的热更新,并减少开发人员的开发时间、避免业务重新上线的等待时间。
实施例二
图2为本发明实施例二提供的一种列表的处理方法的流程图。
本实施例可适用于直播平台中对业务数据进行排序的情况,具体的,可以适用于在不重启服务器的情况下,更换业务数据的排序方式的应用场景。
该方法可以由列表的处理设备来执行,该列表的处理设备可以是服务器,该服务器可以是集群服务器或独立服务器。
参照图2,该方法用于更新业务数据的排序方式,具体包括如下步骤:
S210、获取与业务页面关联的、设置有排序方式的源代码文件;
本实施例中,开发人员可以上传新的排序方式所对应的源代码文件。
进一步的,可以通过设置源代码文件的文件名与该业务页面的业务类型进行关联。
S220、将所述源代码文件编译为中介码文档;
本实施例中,可以使用LLVM提供的编译工具将源代码文件变异成中介码文档。
其中,中介码(Intermediate Representation,IR),一种类似汇编的底层语言,是底层虚拟机(Low Level Virtual Machine,LLVM)的核心。中介码文档为使用中介码表示的、设置有排序方式的文档。需要注意的是,所获取的中介码文档可以是以字符串的形式表示。该中介码文档可以转换为分别适用于多种不同架构***的机器码程序。
在一实施例中,可以将该中介码文档记录在汇编文件的形式存储在本地。
S230、当确定所述业务页面接收到访问操作时,向设置所述业务页面的服务器发送所述中介码文档,以对待显示在所述业务页面的业务数据进行排序,得到业务列表。
本实施例中,可以通过确定业务页面所属的业务类型;从本地获取与业务类型匹配的、预先编译有排序方式的中介码文档,并将该中介码文档发送至所述业务页面。具体的,可以通过确定为业务页面配置的文件名和函数名;获取与文件名匹配的汇编文件;从汇编文件中获取与函数名匹配的中介码文档,其中,中介码文档设置有针对业务数据的排序方式。具体的,在该汇编文件中记录有中介码文档,并使用函数名对中介码文档进行分块,每一块的中介码文档,对应于一种排序方式。该函数名可以是依据排序方式定义的名称。
本实施例中,先将排序方式所对应的源代码编译成中介码文档,并在需要按照该排序方式对业务数据进行排序时,将该中介码文档发送至业务页面,并转换为可执行的机器码程序,可以减少因更新排序方式时,由于编译所带来的延迟。并且,由于将源代码编译为中介码文档和将中介码文档转换为机器码程序可以设置为两个部分进行。只有在排序方式需要更新时,才需要将新的排序方式所对应的源代码编译为新的中介码文档。在一实施例中,可以设置在排序方式更新期间,可以使用在先的中介码文档,不涉及到需要重启服务器的情况。在又一实施例中,可以将新的排序方式所对应的中介码文档保存在预设区域,在确定使用新的排序方式时,使用新的中介码文档替换在先的中介码文档。
实施例三
图3为本发明实施例三提供的一种列表的处理装置的结构示意图;
参照图3,该装置具体包括如下结构:业务数据获取模块310、中介码获取模块320、转换模块330、执行模块340和显示模块350。
业务数据获取模块310,用于响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据。
中介码获取模块320,用于获取与所述业务页面关联的、设置有排序方式的中介码文档。
转换模块330,用于将所述中介码文档转换为可执行的机器码程序。
执行模块340,用于执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表。
显示模块350,用于将所述业务列表发送至所述业务页面进行显示。
在上述技术方案的基础上,所述中介码获取模块320,包括:
业务类型确定单元,用于确定所述业务页面所属的业务类型。
中介码获取单元,用于获取与所述业务类型匹配的、预先编译有排序方式的中介码文档。
在上述技术方案的基础上,所述中介码获取单元,包括:
名称确定子单元,用于确定为所述业务页面配置的文件名和函数名。
汇编文件获取子单元,用于获取与所述文件名匹配的汇编文件。
中介码获取子单元,用于从所述汇编文件中获取与所述函数名匹配的中介码文档,其中,所述中介码文档设置有针对业务数据的排序方式。
在上述技术方案的基础上,所述转换模块330,包括:
架构***确定单元,用于确定对所述业务数据进行排序的架构***。
机器码转换单元,用于将所述中介码文档转换为与所述架构***匹配的机器码程序。
在上述技术方案的基础上,所述执行模块340,包括:
内存分配单元,用于为所述机器码程序分配内存空间。
指针确定单元,用于将所述内存空间的首地址,作为函数指针所指向的地址。
调用单元,用于调用所述函数指针,并将所述业务数据作为所述函数指针的传入参数,以依次运行所述内存空间中的机器码程序,对所述业务数据进行排序。
输出单元,用于将输出的运行结果,作为业务列表。
在上述技术方案的基础上,所述业务数据包括主播用户的在第一周期的第一订单量、在第二周期的第二订单量;
所述执行模块340,包括:
用户读取单元,用于从所述业务数据中读取主播用户;
列表生成单元,用于生成包括所述主播用户的业务列表;
排序单元,用于对所述业务列表中的主播用户,依据所述第一订单量确定所述主播用户在所述业务列表中的排序;
调整单元,用于依据所述第二订单量调整所述排序。
实施例四
图4为本发明实施例四提供的一种列表的处理装置的结构示意图。
参照图4,该装置具体包括如下结构:源代码获取模块410、编译模块420和发送模块430。
源代码获取模块410,用于获取与业务页面关联的、设置有排序方式的源代码文件。
编译模块420,用于将所述源代码文件编译为中介码文档。
发送模块430,用于当确定所述业务页面接收到访问操作时,向设置所述业务页面的服务器发送所述中介码文档,以对待显示在所述业务页面的业务数据进行排序,得到业务列表。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种列表的处理设备的结构示意图。如图5所示,该列表的处理设备包括:处理器50、存储器51、输入装置52以及输出装置53。该列表的处理设备中处理器50的数量可以是一个或者多个,图5中以一个处理器50为例。该列表的处理设备中存储器51的数量可以是一个或者多个,图5中以一个存储器51为例。该列表的处理设备的处理器50、存储器51、输入装置52以及输出装置53可以通过总线或者其他方式连接,图5中以通过总线连接为例。该列表的处理设备可以是电脑和服务器等。本实施例以列表的处理设备为服务器进行详细说明,该服务器可以是独立服务器或集群服务器。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的列表的处理方法对应的程序指令/模块(例如,列表的处理装置中的业务数据获取模块310、中介码获取模块320、转换模块330、执行模块340和显示模块350;又例如,列表的处理装置中的源代码获取模块410、编译模块420和发送模块430)。存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或者字符信息,以及产生与列表的处理设备的观众用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置53可以包括扬声器等音频设备。需要说明的是,输入装置52和输出装置53的具体组成可以根据实际情况设定。
处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的列表的处理方法。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种列表的处理方法,包括:
响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据;
获取与所述业务页面关联的、设置有排序方式的中介码文档;
将所述中介码文档转换为可执行的机器码程序;
执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表;
将所述业务列表发送至所述业务页面进行显示。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的列表的处理方法操作,还可以执行本发明任意实施例所提供的列表的处理方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的列表的处理方法。
值得注意的是,上述列表的处理装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“在一实施例中”、“在又一实施例中”或“示例性的”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种列表的处理方法,其特征在于,包括:
响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据;
获取与所述业务页面关联的、设置有排序方式的中介码文档,其中,在所述排序方式更新期间,使用在先的中介码文档,在确定使用新的所述排序方式时,使用新的所述排序方式对应的中介码文档替换在先的中介码文档;
将所述中介码文档转换为可执行的机器码程序;
执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表;
将所述业务列表发送至所述业务页面进行显示。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述业务页面关联的、设置有排序方式的中介码文档,包括:
确定所述业务页面所属的业务类型;
获取与所述业务类型匹配的、预先编译有排序方式的中介码文档。
3.根据权利要求2所述的方法,其特征在于,所述获取与所述业务类型匹配的、预先编译有排序方式的中介码文档,包括:
确定为所述业务页面配置的文件名和函数名;
获取与所述文件名匹配的汇编文件;
从所述汇编文件中获取与所述函数名匹配的中介码文档,其中,所述中介码文档设置有针对业务数据的排序方式。
4.根据权利要求1所述的方法,其特征在于,所述将所述中介码文档转换为可执行的机器码程序,包括:
确定对所述业务数据进行排序的架构***;
将所述中介码文档转换为与所述架构***匹配的机器码程序。
5.根据权利要求1所述的方法,其特征在于,所述执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表,包括:
为所述机器码程序分配内存空间;
将所述内存空间的首地址,作为函数指针所指向的地址;
调用所述函数指针,并将所述业务数据作为所述函数指针的传入参数,以依次运行所述内存空间中的机器码程序,对所述业务数据进行排序;
将输出的运行结果,作为业务列表。
6.根据权利要求1-5任一所述的方法,其特征在于,所述业务数据包括主播用户的在第一周期的第一订单量、在第二周期的第二订单量;
所述执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表,包括:
从所述业务数据中读取主播用户;
生成包括所述主播用户的业务列表;
对所述业务列表中的主播用户,依据所述第一订单量确定所述主播用户在所述业务列表中的排序;
依据所述第二订单量调整所述排序。
7.一种列表的处理方法,其特征在于,包括:
获取与业务页面关联的、设置有排序方式的源代码文件;
将所述源代码文件编译为中介码文档;
当确定所述业务页面接收到访问操作时,向设置所述业务页面的服务器发送所述中介码文档,以对待显示在所述业务页面的业务数据进行排序,得到业务列表,其中,在所述排序方式更新期间,使用在先的中介码文档,在确定使用新的所述排序方式时,使用新的所述排序方式对应的中介码文档替换在先的中介码文档。
8.一种列表的处理装置,其特征在于,包括:
业务数据获取模块,用于响应针对业务页面的访问操作,获取待显示在所述业务页面的业务数据;
中介码获取模块,用于获取与所述业务页面关联的、设置有排序方式的中介码文档,其中,在所述排序方式更新期间,使用在先的中介码文档,在确定使用新的所述排序方式时,使用新的所述排序方式对应的中介码文档替换在先的中介码文档;
转换模块,用于将所述中介码文档转换为可执行的机器码程序;
执行所述机器码程序,以按照所述排序方式对所述业务数据进行排序,得到业务列表;
显示模块,用于将所述业务列表发送至所述业务页面进行显示。
9.一种列表的处理装置,其特征在于,包括:
源代码获取模块,用于获取与业务页面关联的、设置有排序方式的源代码文件;
编译模块,用于将所述源代码文件编译为中介码文档;
发送模块,用于当确定所述业务页面接收到访问操作时,向设置所述业务页面的服务器发送所述中介码文档,以对待显示在所述业务页面的业务数据进行排序,得到业务列表,其中,在所述排序方式更新期间,使用在先的中介码文档,在确定使用新的所述排序方式时,使用新的所述排序方式对应的中介码文档替换在先的中介码文档。
10.一种列表的处理设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的列表的处理方法。
11.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的列表的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910718605.7A CN112333482B (zh) | 2019-08-05 | 2019-08-05 | 一种列表的处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910718605.7A CN112333482B (zh) | 2019-08-05 | 2019-08-05 | 一种列表的处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112333482A CN112333482A (zh) | 2021-02-05 |
CN112333482B true CN112333482B (zh) | 2023-01-06 |
Family
ID=74319579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910718605.7A Active CN112333482B (zh) | 2019-08-05 | 2019-08-05 | 一种列表的处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333482B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1318738A (zh) * | 2001-02-18 | 2001-10-24 | 华立集团股份有限公司 | 多位机械计数器防误读模数转换方法及装置 |
US6389386B1 (en) * | 1998-12-15 | 2002-05-14 | International Business Machines Corporation | Method, system and computer program product for sorting text strings |
CN1609805A (zh) * | 2003-10-17 | 2005-04-27 | 松下电器产业株式会社 | 编译装置 |
CN101317177A (zh) * | 2006-06-09 | 2008-12-03 | 华为技术有限公司 | 确定内容提供商优先级的***和方法 |
CN102201176A (zh) * | 2010-03-25 | 2011-09-28 | 元太科技工业股份有限公司 | 测验***及其方法 |
CN102227712A (zh) * | 2008-11-26 | 2011-10-26 | 奥普塔姆软件股份有限公司 | 基于约束的语言中过程的高效自动翻译 |
EP2650785A1 (en) * | 2012-04-10 | 2013-10-16 | Siemens Aktiengesellschaft | Method, system, and computer program product for transforming machine code to source code |
CN103838614A (zh) * | 2014-02-19 | 2014-06-04 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN103930868A (zh) * | 2011-11-29 | 2014-07-16 | 华为技术有限公司 | 定制优化/转换/处理策略的***和方法 |
CN108388431A (zh) * | 2018-02-13 | 2018-08-10 | 广东欧珀移动通信有限公司 | 应用程序热更新的控制方法、装置、存储介质及移动终端 |
CN108829771A (zh) * | 2018-05-29 | 2018-11-16 | 广州虎牙信息科技有限公司 | 主播推荐方法、装置、计算机存储介质及服务器 |
CN109344303A (zh) * | 2018-11-30 | 2019-02-15 | 广州虎牙信息科技有限公司 | 一种数据结构切换方法、装置、设备和存储介质 |
CN109982099A (zh) * | 2019-03-25 | 2019-07-05 | 广州华多网络科技有限公司 | 直播列表排版布局方法、装置、计算机设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7428278B2 (en) * | 2002-05-09 | 2008-09-23 | Interdigital Technology Corporation | Method and apparatus for parallel midamble cancellation |
US9621932B2 (en) * | 2012-02-28 | 2017-04-11 | Google Inc. | Enhancing live broadcast viewing through display of filtered internet information streams |
RU2571587C2 (ru) * | 2014-04-10 | 2015-12-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство кодирования и декодирования данных в скрученном полярном коде |
US20160357530A1 (en) * | 2015-06-05 | 2016-12-08 | Apple Inc. | Method and apparatus for intermediate representation of applications |
-
2019
- 2019-08-05 CN CN201910718605.7A patent/CN112333482B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389386B1 (en) * | 1998-12-15 | 2002-05-14 | International Business Machines Corporation | Method, system and computer program product for sorting text strings |
CN1318738A (zh) * | 2001-02-18 | 2001-10-24 | 华立集团股份有限公司 | 多位机械计数器防误读模数转换方法及装置 |
CN1609805A (zh) * | 2003-10-17 | 2005-04-27 | 松下电器产业株式会社 | 编译装置 |
CN101317177A (zh) * | 2006-06-09 | 2008-12-03 | 华为技术有限公司 | 确定内容提供商优先级的***和方法 |
CN102227712A (zh) * | 2008-11-26 | 2011-10-26 | 奥普塔姆软件股份有限公司 | 基于约束的语言中过程的高效自动翻译 |
CN102201176A (zh) * | 2010-03-25 | 2011-09-28 | 元太科技工业股份有限公司 | 测验***及其方法 |
CN103930868A (zh) * | 2011-11-29 | 2014-07-16 | 华为技术有限公司 | 定制优化/转换/处理策略的***和方法 |
EP2650785A1 (en) * | 2012-04-10 | 2013-10-16 | Siemens Aktiengesellschaft | Method, system, and computer program product for transforming machine code to source code |
CN103838614A (zh) * | 2014-02-19 | 2014-06-04 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN108388431A (zh) * | 2018-02-13 | 2018-08-10 | 广东欧珀移动通信有限公司 | 应用程序热更新的控制方法、装置、存储介质及移动终端 |
CN108829771A (zh) * | 2018-05-29 | 2018-11-16 | 广州虎牙信息科技有限公司 | 主播推荐方法、装置、计算机存储介质及服务器 |
CN109344303A (zh) * | 2018-11-30 | 2019-02-15 | 广州虎牙信息科技有限公司 | 一种数据结构切换方法、装置、设备和存储介质 |
CN109982099A (zh) * | 2019-03-25 | 2019-07-05 | 广州华多网络科技有限公司 | 直播列表排版布局方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
基于Smali Code的移动应用行为模型的自动构建方法;余勇等;《计算机科学》;20171115(第11期);全文 * |
基于网格技术的实时洪水预报建模***;司源等;《水文》;20111225(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112333482A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542399B (zh) | 软件开发方法、装置、终端设备及计算机可读存储介质 | |
CN111736840B (zh) | 小程序应用的编译方法、运行方法、存储介质及电子设备 | |
US20210216701A1 (en) | Method, apparatus, device and storage medium for determining page theme | |
CN109697121B (zh) | 用于向应用分配处理资源的方法、设备和计算机可读介质 | |
CN111026493B (zh) | 界面渲染的处理方法和装置 | |
CN110580189A (zh) | 生成前端页面的方法、装置、计算机设备以及存储介质 | |
CN112395253B (zh) | 索引文件生成方法、终端设备、电子设备及介质 | |
CN113204345A (zh) | 页面生成方法、装置、电子设备及存储介质 | |
CN111198996A (zh) | 一种页面展示的方法、装置和电子设备 | |
JP2021068415A (ja) | コード実行方法、装置、レンダリングデバイス、記憶媒体、及びプログラム | |
CN111507074A (zh) | 数据处理方法及装置、处理器、电子设备及存储介质 | |
CN113655895B (zh) | 应用于输入法的信息推荐方法、装置及电子设备 | |
CN112131230B (zh) | 应用SaaS化实现方法、装置、设备及存储介质 | |
CN111813407B (zh) | 游戏开发方法、游戏运行方法、装置和电子设备 | |
CN112333482B (zh) | 一种列表的处理方法、装置、设备和存储介质 | |
CN112596820A (zh) | 一种资源加载方法、装置、设备以及存储介质 | |
US11048555B2 (en) | Method, apparatus, and computer program product for optimizing execution of commands in a distributed system | |
CN114637499B (zh) | 可视化组件处理方法、装置、设备及介质 | |
JP2021068414A (ja) | ラッピング方法、登録方法、装置、レンダリングディバイス、及びプログラム | |
CN112052377A (zh) | 资源推荐方法、装置、服务器和存储介质 | |
CN110647331A (zh) | 开发工具的获取方法及装置、存储介质、电子设备 | |
US11017032B1 (en) | Document recovery utilizing serialized data | |
CN111078736A (zh) | 一种数据聚合处理方法、装置、终端及存储介质 | |
CN112882698A (zh) | 开发环境的生成方法及装置、计算机存储介质及电子设备 | |
CN112612531A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |