CN107423079A - 一种同步脚本的方法、解析消息的方法和设备 - Google Patents

一种同步脚本的方法、解析消息的方法和设备 Download PDF

Info

Publication number
CN107423079A
CN107423079A CN201710148617.1A CN201710148617A CN107423079A CN 107423079 A CN107423079 A CN 107423079A CN 201710148617 A CN201710148617 A CN 201710148617A CN 107423079 A CN107423079 A CN 107423079A
Authority
CN
China
Prior art keywords
message
lua
server
client device
type
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
Application number
CN201710148617.1A
Other languages
English (en)
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710148617.1A priority Critical patent/CN107423079A/zh
Publication of CN107423079A publication Critical patent/CN107423079A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及计算机领域,尤其涉及一种同步脚本的方法、解析消息的方法和设备。在本发明实施例的技术方案中,服务器向客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,那么客户端设备接收所述服务器发送的所述Lua脚本,并在接收到所述服务器发送的消息后,调用所述Lua脚本对所述消息进行解析,进而获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。由此解决了现有技术在修改消息类型后,需要重新编辑应用才能使该应用解析新消息类型的技术问题。

Description

一种同步脚本的方法、解析消息的方法和设备
技术领域
本发明涉及计算机领域,尤其涉及一种同步脚本的方法、解析消息的方法和设备。
背景技术
很多应用的运行过程会与对应的服务器建立连接,并依靠服务器下发消息为用户服务。应用对服务器下发的消息进行解析,解析出消息类型以及消息内容,然后进一步根据解析结果处理消息并提供服务。
随着服务的多样化发展,可能会增加修改消息类型,例如增加新的消息类型,或者变更旧的消息类型。在相关技术中,为了保证应用能够解析修改后的消息类型,将修改并重新编译应用,进而获得应用新版本。客户端设备通过升级应用,将本地应用与服务器同步。
然而,上述相关技术至少存在以下问题:第一,每次对消息类型的修改都需要修改并重新编译应用,导致成产成本高,生产周期长;第二,由于用户获取新版本本身存在延迟,那么就导致应用同步延迟也很长。
发明内容
本发明实施例提供了一种同步脚本的方法、解析消息的方法和设备,用于解决现有技术在修改消息类型后,需要重新编辑应用才能使该应用解析新消息类型的技术问题。
第一方面,本发明提供了一种同步脚本的方法,包括:
确定一安装有目标应用的第一客户端设备接入服务器;
向所述第一客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,以使所述第一客户端设备能够同步解析出所述服务器发送的所述消息的消息类型。
可选的,所述方法还包括:
接收第二客户端设备发送的用于获取所述目标应用安装文件的获取请求;
基于所述获取请求,向所述第二客户端设备发送所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件。
第二方面,本发明提供了一种解析消息的方法,包括:
接收服务器发送的Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型;
在接收到服务器发送的消息后,调用所述Lua脚本对所述消息进行解析;
获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。
可选的,所述Lua脚本还用于解析所述消息的消息内容,所述解析结果还包括所述消息的消息内容。
可选的,在获取所述Lua脚本返回的包括所述消息的消息类型的解析结果之后,还包括:
对所述消息的消息内容进行解析,以获得所述消息的消息内容。
可选的,在接收服务器发送的Lua脚本之前,还包括:
向所述服务器发送用于获取目标应用安装文件的获取请求;
接收所述服务器基于所述获取请求而发送的所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件;
基于所述目标应用安装文件安装所述目标应用,其中,基于所述Lua引擎文件安装Lua引擎,进而在接收所述Lua脚本后以所述Lua引擎执行所述Lua脚本。
第三方面,本发明提供了一种服务器,包括:
确定模块,用于确定一安装有目标应用的第一客户端设备接入服务器;
第一发送模块,用于向所述第一客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,以使所述第一客户端设备能够同步解析出所述服务器发送的所述消息的消息类型。
可选的,所述服务器还包括:
接收模块,用于接收第二客户端设备发送的用于获取所述目标应用安装文件的获取请求;
第二发送模块,用于基于所述获取请求,向所述第二客户端设备发送所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件。
第四方面,本发明提供了一种客户端设备,包括:
第一接收模块,用于接收服务器发送的Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型;
调用模块,用于在接收到服务器发送的消息后,调用所述Lua脚本对所述消息进行解析;
获取模块,用于获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。
可选的,所述Lua脚本还用于解析所述消息的消息内容,所述解析结果还包括所述消息的消息内容。
可选的,所述客户端设备还包括:
解析模块,用于在获取所述Lua脚本返回的包括所述消息的消息类型的解析结果之后,对所述消息的消息内容进行解析,以获得所述消息的消息内容。
可选的,所述客户端设备还包括:
发送模块,用于在接收服务器发送的Lua脚本之前,向所述服务器发送用于获取目标应用安装文件的获取请求;
第二接收模块,用于接收所述服务器基于所述获取请求而发送的所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件;
安装模块,用于基于所述目标应用安装文件安装所述目标应用,其中,基于所述Lua引擎文件安装Lua引擎,进而在接收所述Lua脚本后以所述Lua引擎执行所述Lua脚本。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,服务器向客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,那么客户端设备接收所述服务器发送的所述Lua脚本,并在接收到所述服务器发送的消息后,调用所述Lua脚本对所述消息进行解析,进而获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。由于Lua脚本具有不用编译代码直接执行逻辑的性质,因此本发明实施例在修改消息类型后,所述服务器将对应解析修改后的消息类型的所述Lua脚本同步至客户端目标应用,就可以使得所述目标应用能够同步解析出修改消息类型后的消息,由此解决了现有技术在修改消息类型后,需要重新编辑应用才能使该应用解析新消息类型的技术问题。由于服务器在修改消息类型后不必要重新编译应用,所以减少了成产成本,缩短了生产周期。同时,客户端设备只需要从服务器获取Lua脚本就实现了同步,故而减小同步延迟。
附图说明
图1为本发明实施例中同步脚本的方法流程图;
图2为本发明实施例中解析消息的方法流程图;
图3为本发明实施例中服务器的结构示意图;
图4为本发明实施例中客户端设备的结构示意图。
具体实施方式
本发明实施例提供了一种同步脚本的方法、解析消息的方法和设备,用于解决现有技术在修改消息类型后,需要重新编辑应用才能使该应用解析新消息类型的技术问题。
为了解决上述技术问题,本发明提供的技术方案总体思路如下:
在本发明实施例的技术方案中,服务器向客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,那么客户端设备接收所述服务器发送的所述Lua脚本,并在接收到所述服务器发送的消息后,调用所述Lua脚本对所述消息进行解析,进而获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。由于Lua脚本具有不用编译代码直接执行逻辑的性质,因此本发明实施例在修改消息类型后,所述服务器将对应解析修改后的消息类型的所述Lua脚本同步至客户端目标应用,就可以使得所述目标应用能够同步解析出修改消息类型后的消息,由此解决了现有技术在修改消息类型后,需要重新编辑应用才能使该应用解析新消息类型的技术问题。由于服务器在修改消息类型后不必要重新编译应用,所以减少了成产成本,缩短了生产周期。同时,客户端设备只需要从服务器获取Lua脚本就实现了同步,故而减小同步延迟。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
为了方便说明本发明实施例中的技术方案,首先对Lua脚本进行介绍。
Lua脚本是一个轻量级脚本语言,可以很容易地被C/C++程序语言编写的代码所调用,也可以反过来调用该C/C++程序语言编写的代码。同时,Lua脚本是一种解释性语言,因此可以不用编译代码直接执行其逻辑。在本发明实施例中,Lua脚本至少用于解析服务器所发送的消息的消息类型,进一步还可以用于解析消息内容。
本发明实施例中对消息类型的修改包括但不限于增加新的消息类型和变更旧的消息类型。举例来说,服务器中包括3种消息类型,具体为以“type@=chatmsg”表示的弹幕消息,以“type@=userenter”表示用户消息和以“type@=keeplive”表示心跳保活消息。那么,服务器对消息类型的修改可以例如为增加以“type@=gift”表示的礼物消息,或者将表示的弹幕消息的标示修改为“type@=danmu”。
在本发明实施例中,当服务器中的消息类型发生修改后,管理人员则编写出解析对应消息类型的Lua脚本。沿用上文中的例子,如果增加以“type@=gift”表示的礼物消息,则需要编写逻辑为“若读取到type@=gift,则处理结果为礼物消息”的Lua脚本(1),Lua脚本(1)例如为:
Function MessageProcess(msg)
Local msgHead=ParseHead(msg);//获取消息msg头部
If msgHead==“type@=gift”//判断头部是否为礼物消息标示
Return Gift;//若头部为礼物标示,则返回消息类型为礼物消息的结果
End
若将表示的弹幕消息的表示修改为“type@=danmu”,则需要修改解析弹幕消息的Lua脚本逻辑为“若读取到type@=danmu,则处理结果为弹幕消息”的Lua脚本(2),Lua脚本(2)例如为:
Function MessageProcess(msg)
Local msgHead=ParseHead(msg);//获取消息msg头部
If msgHead==“type@=danmu”//判断头部是否为弹幕消息标示
Return Chat,GetData(msg);//若头部为弹幕消息标示,则返回消息类型为弹幕消息的结果,并解析消息内容
Elseif msgHead==“type@=userenter”//若头部不为弹幕消息标示,继续判断头部是否为用户消息标示
Return Use,GetData(msg);//若头部为用户消息标示,则返回消息类型为用户消息的结果,并解析消息内容
End
下面将对本发明实施例中的技术方案进行介绍。
本发明第一方面提供了一种同步脚本的方法,应用于服务器。请参考图1,为同步脚本的方法流程图,该方法包括:
S101:确定一安装有目标应用的第一客户端设备接入服务器;
S102:向所述第一客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,以使所述第一客户端设备能够同步解析出所述服务器发送的所述消息的消息类型。
具体来讲,本发明实施例中的目标应用指的是服务器支持的应用,例如服务器具体为A网络直播公司的服务器,则目标应用具体为A公司网络直播应用,或者例如服务器为B购物公司的服务器,则目标应用为B购物公司应用。第一客户端设备为安装有目标应用的客户端设备。客户端设备包括但不限于手机、台式机、一体机和平板电脑等。
在S101中,确定第一客户端设备接入服务器的方法有多种。在一种实施方式中,当服务器获得第一客户端设备与服务器成功建立连接的反馈消息时,确定第一客户端设备接入服务器。在另一种实施方式中,用户会通过目标应用向服务器请求数据,则服务器在接收到第一客户端设备发送的数据请求时,确定第一客户端设备接入服务器。在另一种实施方式中,如果服务器周期性接收第一客户端设备发送的心跳包,表示第一客户端设备与服务器保持长连接,则确定第一客户端设备接入服务器。在具体实现过程中,本发明所属领域的普通技术人员可以根据实际选择上述任意一种或多种,以及其它实施方式来确定第一客户端设备是否接入服务器,本发明不做具体限制。
接下来,在S102中,为了同步第一客户端设备上的目标应用的Lua脚本,服务器将向第一客户端设备发送当前服务器中的Lua脚本。
具体来讲,在一种实施方式中,服务器可以在每次第一客户端设备接入后,向第一客户端设备发送服务器当前的全部Lua脚本,进而第一客户端设备每次接入服务器后,目标应用中的Lua脚本都将与服务器同步。
或者,在另一种实施方式中,服务器记录每一次向第一客户端设备发送的Lua脚本,当第一客户端设备再次接入服务器后,服务器将当前服务器中的全部Lua脚本与上一次发送给第一客户端设备的Lua脚本对比,如果确定当前服务器中的全部Lua脚本中有未发送给第一客户端设备的Lua脚本,则将该Lua脚本发送给第一客户端设备。
或者,在另一种实施方式中,在管理人员修改好一个新的Lua脚本后,及时将该新的Lua脚本发送到各个第一客户端设备中,进而以最小时延同步。
在具体实现过程中,本发明所属领域的普通技术人员可以根据实际选择上述实施方式或其他实施方式,本发明不做限制。
可选的,本发明实施例同步的方法还进一步包括:
接收第二客户端设备发送的用于获取所述目标应用安装文件的获取请求;
基于所述获取请求,向所述第二客户端设备发送所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件。
具体来讲,本发明实施例中的第二客户端设备为在发送获取请求之前未安装目标应用的客户端设备。第一客户端设备在未安装目标应用之前即为第二客户端设备。
当第二客户端设备的用户需要安装目标应用时,将通过第二客户端设备向服务器发送获取请求,该获取请求用于获取目标应用安装文件。服务器接收获取请求后,如果确定第二客户端设备能够安装目标应用,则进一步基于获取请求,将目标应用安装文件下发给第二客户端设备。
在本发明实施例中,目标应用安装文件中包括Lua引擎文件。具体来讲,Lua引擎文件为安装Lua引擎的文件。由于本发明实施例中的消息类型需要由Lua脚本解析,而Lua脚本需要由Lua引擎执行,因此,将Lua引擎文件包含在目标应用安装文件中,进而第二客户端设备基于目标应用安装文件,不仅能够正常安装目标应用,而且还可以安装Lua引擎。
基于与前述实施例中同步的方法同样的发明构思,本发明第二方面还提供一种解析消息的方法,应用于客户端设备。如图2所示,该方法包括:
S201:接收服务器发送的Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型;
S202:在接收到服务器发送的消息后,调用所述Lua脚本对所述消息进行解析;
S203:获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。
具体来讲,本发明实施例中的客户端设备具体为已安装目标应用的第一客户端设备,那么在该客户端设备接入服务器后,在S201中,客户端设备将接收服务器发送的Lua脚本。上文中对服务器下发Lua脚本的方法已有详细介绍,因此这里就不再重复赘述了。
进而,在S202中,当客户端设备接收到服务器下发的消息后,客户端设备将调用目标应用的Lua脚本来解析消息的消息类型。具体来讲,客户端设备在确定接收到服务器下发的消息后,调用提取获取的一个或多个Lua脚本,并且将接收到的消息传给该一个或多个Lua脚本。Lua脚本获取消息并执行逻辑,进而对该消息进行解析,确定该消息的消息类型。
然后,在Lua脚本运行逻辑得到解析结果后,Lua脚本返回目标应用解析结果,其中,本发明实施例中的解析结果至少包括消息类型。那么,目标应用读取Lua脚本返回的解析结果,就获得了消息的消息类型。
在本发明实施例的技术方案中,服务器向客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,那么客户端设备接收所述服务器发送的所述Lua脚本,并在接收到所述服务器发送的消息后,调用所述Lua脚本对所述消息进行解析,进而获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。由于Lua脚本具有不用编译代码直接执行逻辑的性质,因此本发明实施例在修改消息类型后,所述服务器将对应解析修改后的消息类型的所述Lua脚本同步至客户端目标应用,就可以使得所述目标应用能够解析出修改消息类型后的消息,由此解决了现有技术在修改消息类型后,需要重新编辑应用才能使该应用解析新消息类型的技术问题。由于服务器在修改消息类型后不必要重新编译应用,所以减少了成产成本,缩短了生产周期。同时,客户端设备只需要从服务器获取Lua脚本就实现了同步,故而减小同步延迟。
进一步,对于如何解析消息的消息内容,本发明实施例有至少两种实施方式。在第一种实施方式中,管理人员在编写Lua脚本逻辑的时候,除了编写解析消息类型的逻辑,还可以进一步将解析消息内容的逻辑也编写在Lua脚本中。例如上文中的脚本(2),既可以解析出消息是否为弹幕消息或用户消息,还可以解析出弹幕消息的具体消息内容和用户消息的具体消息内容。因此,在第一种实施方式中,Lua脚本所返回的解析结果进一步包括消息内容,换言之,目标应用读取解析结果既可以获取消息类型,也可以获取消息内容。
在第二种实施方式中,如果在修改消息类型的时候,对解析消息内容的协议并不修改,那么目标应用或客户端设备解析消息内容的方式也不会变。所以,在第二种实施方式中,消息内容还可以由目标应用自行解析。那么,在S203之后,还包括:
对所述消息的消息内容进行解析,以获得所述消息的消息内容。
具体来讲,获得解析结果后,进一步将消息传入解析消息内容的函数中进行解析,进而获取该消息的消息内容。
那么,在该种实施方式中,管理人员在编写Lua脚本逻辑的时候,可以仅编写解析消息类型的逻辑。例如上文中的脚本(1),仅解析出消息是否为礼物消息类型,并不会进一步解析具体消息内容。
可选的,当本发明实施例中的客户端设备尚未安装目标应用时,即该客户端设备具体为第二客户端设备时,结合上述任意一种实施方式,本发明实施例中解析消息的方法还可以包括:
向所述服务器发送用于获取目标应用安装文件的获取请求;
接收所述服务器基于所述获取请求而发送的所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件;
基于所述目标应用安装文件安装所述目标应用,其中,基于所述Lua引擎文件安装Lua引擎,进而在接收所述Lua脚本后以所述Lua引擎执行所述Lua脚本。
具体来讲,当客户端设备的用户需要安装目标应用时,通过客户端设备向服务器发送获取请求。然后,接收服务器返回的目标应用安装文件,该安装文件中包括Lua引擎文件,该Lua引擎文件用于安装Lua引擎。接着,基于目标应用安装文件安装目标应用。由于目标应用安装文件中包括Lua引擎文件,因此安装完成的目标应用中就包含Lua引擎,故而目标应用可以利用Lua引擎执行服务器下发的Lua脚本。
具体来讲,Lua引擎首先创建一个Lua脚本的解释器句柄
lua_State*L=luaL_newstate();
然后打开Lua脚本需要的库文件
luaL_openlibs(L);
以及将Lua脚本加载到内存中
luaL_loadfile(L,"roommessage.lua");
其中,以“roommessage.lua”表示Lua脚本的文件。
然后获取Lua脚本的调用接口
lua_getglobal(L,"MessageProcess");
其中MessageProcess为上文脚本(1)和脚本(1)中所述的接口函数。接下来,在接收服务器下发的消息后,将该消息传入Lua脚本的接口,并执行Lua脚本逻辑
lua_pushstring(L,msg);
lua_pcall(L,1,2,0);
Int msgType=lua_tonumber(L,-1);
Char*pData=lua_tostring(L,-2);
其中msgType是返回的消息类型,pData是返回的消息内容。
基于与前述实施例中同步的方法同样的发明构思,本发明第三方面还提供一种服务器,如图3所示,该方法包括:
确定模块101,用于确定一安装有目标应用的第一客户端设备接入服务器;
第一发送模块102,用于向所述第一客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,以使所述第一客户端设备能够同步解析出所述服务器发送的所述消息的消息类型。
可选的,所述服务器还包括:
接收模块,用于接收第二客户端设备发送的用于获取所述目标应用安装文件的获取请求;
第二发送模块,用于基于所述获取请求,向所述第二客户端设备发送所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件。
前述图1实施例中的同步的方法的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对同步的方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
基于与前述实施例中解析消息的方法同样的发明构思,本发明第四方面还提供一种客户端设备,如图4所示,该方法包括:
第一接收模块201,用于接收服务器发送的Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型;
调用模块202,用于在接收到服务器发送的消息后,调用所述Lua脚本对所述消息进行解析;
获取模块203,用于获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。
可选的,所述Lua脚本还用于解析所述消息的消息内容,所述解析结果还包括所述消息的消息内容。
可选的,所述客户端设备还包括:
解析模块,用于在获取所述Lua脚本返回的包括所述消息的消息类型的解析结果之后,对所述消息的消息内容进行解析,以获得所述消息的消息内容。
可选的,所述客户端设备还包括:
发送模块,用于在接收服务器发送的Lua脚本之前,向所述服务器发送用于获取目标应用安装文件的获取请求;
第二接收模块,用于接收所述服务器基于所述获取请求而发送的所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件;
安装模块,用于基于所述目标应用安装文件安装所述目标应用,其中,基于所述Lua引擎文件安装Lua引擎,进而在接收所述Lua脚本后以所述Lua引擎执行所述Lua脚本。
前述图2实施例中的解析消息的方法的各种变化方式和具体实例同样适用于本实施例的客户端设备,通过前述对解析消息的方法的详细描述,本领域技术人员可以清楚的知道本实施例中客户端设备的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,服务器向客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,那么客户端设备接收所述服务器发送的所述Lua脚本,并在接收到所述服务器发送的消息后,调用所述Lua脚本对所述消息进行解析,进而获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。由于Lua脚本具有不用编译代码直接执行逻辑的性质,因此本发明实施例在修改消息类型后,所述服务器将对应解析修改后的消息类型的所述Lua脚本同步至客户端目标应用,就可以使得所述目标应用能够同步解析出修改消息类型后的消息,由此解决了现有技术在修改消息类型后,需要重新编辑应用才能使该应用解析新消息类型的技术问题。由于服务器在修改消息类型后不必要重新编译应用,所以减少了成产成本,缩短了生产周期。同时,客户端设备只需要从服务器获取Lua脚本就实现了同步,故而减小同步延迟。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种同步脚本的方法,其特征在于,包括:
确定一安装有目标应用的第一客户端设备接入服务器;
向所述第一客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,以使所述第一客户端设备能够同步解析出所述服务器发送的所述消息的消息类型。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收第二客户端设备发送的用于获取所述目标应用安装文件的获取请求;
基于所述获取请求,向所述第二客户端设备发送所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件。
3.一种解析消息的方法,其特征在于,包括:
接收服务器发送的Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型;
在接收到服务器发送的消息后,调用所述Lua脚本对所述消息进行解析;
获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。
4.如权利要求3所述的方法,其特征在于,所述Lua脚本还用于解析所述消息的消息内容,所述解析结果还包括所述消息的消息内容。
5.如权利要求3所述的方法,其特征在于,在获取所述Lua脚本返回的包括所述消息的消息类型的解析结果之后,还包括:
对所述消息的消息内容进行解析,以获得所述消息的消息内容。
6.如权利要求3-5任一项所述的方法,其特征在于,在接收服务器发送的Lua脚本之前,还包括:
向所述服务器发送用于获取目标应用安装文件的获取请求;
接收所述服务器基于所述获取请求而发送的所述目标应用安装文件,所述目标应用安装文件中包括Lua引擎文件;
基于所述目标应用安装文件安装所述目标应用,其中,基于所述Lua引擎文件安装Lua引擎,进而在接收所述Lua脚本后以所述Lua引擎执行所述Lua脚本。
7.一种服务器,其特征在于,包括:
确定模块,用于确定一安装有目标应用的第一客户端设备接入服务器;
第一发送模块,用于向所述第一客户端设备发送Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型,以使所述第一客户端设备能够同步解析出所述服务器发送的所述消息的消息类型。
8.一种客户端设备,其特征在于,包括:
第一接收模块,用于接收服务器发送的Lua脚本,所述Lua脚本至少用于解析所述服务器所发送的消息的消息类型;
调用模块,用于在接收到服务器发送的消息后,调用所述Lua脚本对所述消息进行解析;
获取模块,用于获取所述Lua脚本返回的包括所述消息的消息类型的解析结果。
9.如权利要求8所述的客户端设备,其特征在于,所述Lua脚本还用于解析所述消息的消息内容,所述解析结果还包括所述消息的消息内容。
10.如权利要求8所述的客户端设备,其特征在于,所述客户端设备还包括:
解析模块,用于在获取所述Lua脚本返回的包括所述消息的消息类型的解析结果之后,对所述消息的消息内容进行解析,以获得所述消息的消息内容。
CN201710148617.1A 2017-03-10 2017-03-10 一种同步脚本的方法、解析消息的方法和设备 Pending CN107423079A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710148617.1A CN107423079A (zh) 2017-03-10 2017-03-10 一种同步脚本的方法、解析消息的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710148617.1A CN107423079A (zh) 2017-03-10 2017-03-10 一种同步脚本的方法、解析消息的方法和设备

Publications (1)

Publication Number Publication Date
CN107423079A true CN107423079A (zh) 2017-12-01

Family

ID=60423538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710148617.1A Pending CN107423079A (zh) 2017-03-10 2017-03-10 一种同步脚本的方法、解析消息的方法和设备

Country Status (1)

Country Link
CN (1) CN107423079A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279988A (zh) * 2018-01-25 2018-07-13 微梦创科网络科技(中国)有限公司 一种基于Lua脚本语言的消息处理方法及系统
CN108696526A (zh) * 2018-05-23 2018-10-23 北京五八信息技术有限公司 网络请求响应数据的解析方法、装置、设备及存储介质
CN108880949A (zh) * 2018-09-26 2018-11-23 郑州云海信息技术有限公司 一种基于云平台的信息解析的方法和装置
WO2019144619A1 (zh) * 2018-01-26 2019-08-01 郑州云海信息技术有限公司 一种rpc通讯方法、系统及装置
CN112579093A (zh) * 2020-12-11 2021-03-30 杭州安恒信息技术股份有限公司 一种信息推送方法、装置及相关设备
CN115473810A (zh) * 2022-09-01 2022-12-13 珠海金山数字网络科技有限公司 双端同步脚本热更新方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007024362A2 (en) * 2005-08-26 2007-03-01 Enuclia Semiconductor, Inc. Video image processing with programmable scripting
CN103353845A (zh) * 2013-06-28 2013-10-16 贵阳朗玛信息技术股份有限公司 脚本加载、推送方法及装置
CN103729189A (zh) * 2013-12-31 2014-04-16 福建星网视易信息系统有限公司 基于lua的播放协议转换方法、系统、终端
CN104111855A (zh) * 2014-07-29 2014-10-22 广东能龙教育股份有限公司 一种基于Lua的iOS客户端功能动态更新的方法
CN104363212A (zh) * 2014-10-31 2015-02-18 北京思特奇信息技术股份有限公司 一种基于Lua的socket通信语义解析方法、适配器和应用系统
CN104657174A (zh) * 2015-02-03 2015-05-27 百度在线网络技术(北京)有限公司 一种用于动态实现应用功能的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007024362A2 (en) * 2005-08-26 2007-03-01 Enuclia Semiconductor, Inc. Video image processing with programmable scripting
CN103353845A (zh) * 2013-06-28 2013-10-16 贵阳朗玛信息技术股份有限公司 脚本加载、推送方法及装置
CN103729189A (zh) * 2013-12-31 2014-04-16 福建星网视易信息系统有限公司 基于lua的播放协议转换方法、系统、终端
CN104111855A (zh) * 2014-07-29 2014-10-22 广东能龙教育股份有限公司 一种基于Lua的iOS客户端功能动态更新的方法
CN104363212A (zh) * 2014-10-31 2015-02-18 北京思特奇信息技术股份有限公司 一种基于Lua的socket通信语义解析方法、适配器和应用系统
CN104657174A (zh) * 2015-02-03 2015-05-27 百度在线网络技术(北京)有限公司 一种用于动态实现应用功能的方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279988A (zh) * 2018-01-25 2018-07-13 微梦创科网络科技(中国)有限公司 一种基于Lua脚本语言的消息处理方法及系统
CN108279988B (zh) * 2018-01-25 2021-07-23 微梦创科网络科技(中国)有限公司 一种基于Lua脚本语言的消息处理方法及系统
WO2019144619A1 (zh) * 2018-01-26 2019-08-01 郑州云海信息技术有限公司 一种rpc通讯方法、系统及装置
CN108696526A (zh) * 2018-05-23 2018-10-23 北京五八信息技术有限公司 网络请求响应数据的解析方法、装置、设备及存储介质
CN108696526B (zh) * 2018-05-23 2021-05-14 北京五八信息技术有限公司 网络请求响应数据的解析方法、装置、设备及存储介质
CN108880949A (zh) * 2018-09-26 2018-11-23 郑州云海信息技术有限公司 一种基于云平台的信息解析的方法和装置
CN112579093A (zh) * 2020-12-11 2021-03-30 杭州安恒信息技术股份有限公司 一种信息推送方法、装置及相关设备
CN115473810A (zh) * 2022-09-01 2022-12-13 珠海金山数字网络科技有限公司 双端同步脚本热更新方法及装置
CN115473810B (zh) * 2022-09-01 2024-04-26 珠海金山数字网络科技有限公司 双端同步脚本热更新方法及装置

Similar Documents

Publication Publication Date Title
CN107423079A (zh) 一种同步脚本的方法、解析消息的方法和设备
US9342321B2 (en) System and method for cross-platform applications on a wireless phone
CN101227345B (zh) 基于应用程序接口的自动测试方法
CN110286897A (zh) Api可视化动态配置方法、装置、设备以及存储介质
CN110795195A (zh) 一种网页渲染方法、装置、电子设备及存储介质
CN104834595A (zh) 一种可视化自动测试方法及系统
CN109901834A (zh) 文档页面生成方法、装置、计算机设备和存储介质
CN110020329B (zh) 用于生成网页的方法、装置和系统
CN112329945A (zh) 一种模型部署及推理的方法和装置
CN111433743A (zh) 一种app远程控制方法及相关设备
CN109388766A (zh) 页面加载的方法和装置
CN110020356A (zh) 一种页面模块的代码生成方法、装置及系统
CN103377116B (zh) 用于在分布式信息系统中记录和分析日志的方法和装置
CN106997298A (zh) 一种应用资源获取方法及装置
CN108170497A (zh) 一种页面渲染的方法及装置
CN107179951A (zh) 远程过程调用方法和装置
CN103473034B (zh) 一种动态发布Web服务的方法和装置
CN109684008A (zh) 卡片渲染方法、装置、终端及计算机可读存储介质
CN112035768A (zh) 快应用的页面渲染方法、装置、存储介质及电子设备
CN108595457A (zh) 一种瀑布流页面的渲染方法和装置
CN109582317A (zh) 用于调试寄宿应用的方法和装置
CN105577828B (zh) 一种远程重定向方法和装置
CN112015468A (zh) 一种接口文档处理方法、装置、电子设备以及存储介质
CN110795328A (zh) 一种接口测试方法和装置
WO2023169193A1 (zh) 用于生成智能合约的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20171201

RJ01 Rejection of invention patent application after publication