CN108614714A - 一种动态库更新方法、装置及存储介质 - Google Patents

一种动态库更新方法、装置及存储介质 Download PDF

Info

Publication number
CN108614714A
CN108614714A CN201810380872.3A CN201810380872A CN108614714A CN 108614714 A CN108614714 A CN 108614714A CN 201810380872 A CN201810380872 A CN 201810380872A CN 108614714 A CN108614714 A CN 108614714A
Authority
CN
China
Prior art keywords
data
response message
update
message
updated
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
CN201810380872.3A
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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201810380872.3A priority Critical patent/CN108614714A/zh
Publication of CN108614714A publication Critical patent/CN108614714A/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种动态库更新方法、装置及存储介质,应用于服务端中,所述方法包括:接收到来自客户端的请求报文,判断所述请求报文对应的响应报文是否用于携带更新数据,其中,所述更新数据用于更新所述客户端的动态库;若所述响应报文用于携带所述更新数据,则基于所述请求报文以及所述更新数据生成所述响应报文;将所述响应报文发送至所述客户端,以使所述客户端基于所述响应报文对所述动态库进行更新。

Description

一种动态库更新方法、装置及存储介质
技术领域
本发明涉及通信领域,尤其涉及一种动态库更新方法、装置及存储介质。
背景技术
随着网络的普及,客户端的更新普遍依赖于网络,对客户端更新一般为对客户端的资源文件更新或动态库更新,现有客户端的动态库更新方式中,客户端向服务端发起动态库更新检查请求,服务端接收到该请求后,可以更新检查,并将更新检查结果返回给客户端,如果更新检查结果为有更新,则客户端基于文件传输协议从服务端下载更新文件,然后,客户端根据下载的更新文件来对本地的动态库进行更新。
由现有技术中的动态库更新方式可知,由于服务器向客户端发送携带有动态库有更新的检查结果后,然后服务器直接通过文件传输的方式将更新文件发送给客户端,文件传输方式并不隐蔽,且更新文件很容易被黑客截获,从而导致动态库更新存在安全隐患。
发明内容
为解决上述技术问题,本发明实施例提供了一种动态库更新方法,一种动态库更新装置,一种存储介质。
本发明实施例的技术方案如下:
一种动态库更新方法,应用于服务端中,所述方法包括:
接收到来自客户端的请求报文,判断所述请求报文对应的响应报文是否用于携带更新数据,其中,所述更新数据用于更新所述客户端的动态库;
若所述响应报文用于携带所述更新数据,则基于所述请求报文以及所述更新数据生成所述响应报文;
将所述响应报文发送至所述客户端,以使所述客户端基于所述响应报文对所述动态库进行更新。
作为一种实施方式,所述判断请求报文对应的响应报文是否用于携带更新数据,包括:
确定所述请求报文对应的业务类型;
判断所述业务类型是否与预设的业务类型匹配;
若匹配,则确定所述请求报文对应的响应报文用于携带更新数据。
作为一种实施方式,所述基于请求报文以及所述更新数据生成所述响应报文,包括:
将所述更新数据的数据格式转换成明文字符串;
基于所述请求报文生成初始响应报文;
在所述初始响应报文中添加识别节点;
基于所述识别节点,将所述明文字符串插入到所述初始响应报文中,得到所述响应报文。
还提供一种动态库更新方法,应用于客户端中,所述方法包括:
向服务端发送请求报文;
接收来自服务端的响应报文,判断所述响应报文是否用于携带更新数据,其中,所述更新数据用于更新本地的动态库;
若所述响应报文用于携带所述更新数据,则基于所述响应报文中携带的所述更新数据,对所述动态库进行更新。
作为一种实施方式,所述判断响应报文是否用于携带更新数据,包括:
确定所述响应报文对应的业务类型;
判断所述业务类型是否与预设的业务类型匹配;
若匹配,则确定所述响应报文用于携带更新数据。
作为一种实施方式,所述基于响应报文中携带的所述更新数据,对所述动态库进行更新,包括:
基于识别节点从所述响应报文中获取所述更新数据,其中,所述更新数据的数据格式为明文字符串;
将获取的所述更新数据的数据格式转换成二进制字节码;
根据所述二进制字节码对所述动态库进行更新。
一种动态库更新装置,所述装置包括:
第一判断模块,用于接收到来自客户端的请求报文,判断所述请求报文对应的响应报文是否用于携带更新数据,其中,所述更新数据用于更新所述客户端的动态库;
生成模块,用于若所述响应报文用于携带所述更新数据,则基于所述请求报文以及所述更新数据生成所述响应报文;
第一更新模块,用于将所述响应报文发送至所述客户端,以使所述客户端基于所述响应报文对所述动态库进行更新。
还提供一种动态库更新装置,所述装置包括:
发送模块,用于向服务端发送请求报文;
第二判断模块,用于接收来自服务端的响应报文,判断所述响应报文是否用于携带更新数据,其中,所述更新数据用于更新本地的动态库;
第二更新模块,用于若所述响应报文用于携带所述更新数据,则基于所述响应报文中携带的所述更新数据,对所述动态库进行更新。
一种存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述动态库更新方法。
一种动态库更新装置,所述装置包括:
处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,所述计算机程序被处理器执行时实现所述动态库更新方法。
本发明实施例的技术方案中,接收到来自客户端的请求报文,判断请求报文对应的响应报文是否用于携带更新数据,其中,更新数据用于更新所述客户端的动态库;若响应报文用于携带更新数据,则基于请求报文以及所述更新数据生成响应报文;将响应报文发送至客户端,以使客户端基于响应报文对动态库进行更新。本发明实施例的技术方案利用请求报文,在接收到请求报文后,采用对应的响应报文携带更新数据进行传输的方式,进而实现动态库更新。从而避免更新数据被截获,提高了系统更新的安全性。
附图说明
图1为本发明一实施例的一种动态库更新流程示意图;
图2为本发明一实施例的判断请求报文对应的响应报文是否用于携带更新数据流程示意图;
图3为本发明一实施例的一种基于请求报文以及所述更新数据生成所述响应报文流程示意图;
图4为本发明一实施例另一种动态库更新示意图;
图5为本发明一实施例的一种判断响应报文是否用于携带更新数据的示意图;
图6为本发明一实施例的一种基于响应报文中携带的所述更新数据,对所述动态库进行更新的示意图;
图7为本发明一实施例的一种动态库更新装置的结构示意图;
图8为本发明一实施例的另一种动态库更新装置的结构示意图;
图9为本发明一实施例的一种动态库更新的交互流程示意图;
图10为本发明一实施例的另一种动态库更新装置的结构示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
图1为本发明实施例一提供的一种动态库更新示意图,如图1所示,应用于服务端中,所述方法包括:
S101、接收到来自客户端的请求报文,判断所述请求报文对应的响应报文是否用于携带更新数据,其中,所述更新数据用于更新所述客户端的动态库;
S102、若所述响应报文用于携带所述更新数据,则基于所述请求报文以及所述更新数据生成所述响应报文;
S103、将所述响应报文发送至所述客户端,以使所述客户端基于所述响应报文对所述动态库进行更新。
本发明实施例中,服务端可以接收请求报文,以及向客户端发送对应于请求报文的响应报文。比如,当服务端从客户端接收到请求报文后,服务端也可以向客户端发送对应的响应报文。另外,一个请求报文可对应于一个或多个响应报文。
在判断请求报文对应的响应报文是否用于携带更新数据过程中,一种实现方式是,服务端可预先在服务端配置关于请求报文在设定时间长度内的交互次数、和/或报文长度的设定条件,当客户端发送的请求报文在设定时间长度内的交互次数、和/或报文长度满足该设定条件时,表明对应的响应报文可以用于携带更新数据。另外,配置中所涉及的请求报文可以为现有的业务请求报文,并不局限于用于动态库更新的请求报文。
需要说明的是,现有的业务请求报文可为请求视频传输的请求报文、请求音频下载的请求报文或请求动态库更新的请求报文等等。服务端若接收到来自客户端的用于动态库更新的请求报文,可直接基于所述用于动态库更新的请求报文以及所述更新数据生成所述响应报文,将所述响应报文发送至所述客户端,以使所述客户端基于所述响应报文对所述动态库进行更新。
作为一种实施方式,根据请求报文判断请求报文对应的响应报文是否可携带更新数据,可通过获取请求报文在设定时间长度内的交互次数、和/或报文长度,确定交互次数、和/或报文长度是否满足设定条件,则如果满足,则确定请求报文对应的响应报文可用于携带更新数据,如果不满足,则确定请求报文对应的响应报文不可用于携带更新数据。
比如,服务端可考虑请求报文在设定时间长度内的交互次数和更新数据的大小满足设定条件时,然后择选客户端向服务端发送的业务请求。更新数据过大时,可选择客户端向该服务端发送的比较频繁的业务请求报文对应的响应报文用于携带更新数据。比如某用户使用某视频应用程序观看电影时,由于电影时间长,相应的业务请求报文在设定时间长度内的交互次数多,服务端与客户端会频繁交互关于视频数据的业务请求报文。更新数据很小时,通常情况下客户端向服务端发送的业务请求报文均可满足,比如某浏览器应用程序需要更新,其更新数据大小大约0.1MB,当用户在打开浏览器应用程序进行网页浏览图片时,客户端向服务端发送的图片的请求报文对应的响应报文即可满足携带该更新数据,该响应报文为由服务端发送给客户端。
在判断请求报文对应的响应报文是否用于携带更新数据过程中,另一种实现方式是,服务端可预先根据更新数据在服务端配置关于请求报文的业务类型,当客户端发送的请求报文的业务类型与预设的业务类型匹配时,表明对应的响应报文可以用于携带更新数据。
在判断请求报文对应的响应报文是否用于携带更新数据过程中,再一种实现方式是,还可根据请求报文对应的响应报文可携带的剩余数据量判断该响应报文是否可携带更新数据,比如更新数据A的大小为4MB,假设视频播放类型的请求报文对应的响应报文还可携带100MB数据,下载一个音频的请求报文对应的响应报文还可携带5MB数据,查看一张图片的请求报文对应的响应报文还可携带2MB数据,则服务端确定对应于视频播放和音频下载这两种业务类型的响应报文可携带更新数据。再比如,在判断所述业务类型是否与预设的业务类型匹配时,还可对更新数据进行拆分处理,然后匹配对应业务类型,最后通过多个响应报文携带。比如,更新数据A的大小为4MB可拆分为4个更新数据分块,每块的大小为1MB,当用户再刷社交网站时,打开9张的好友照片时,客户端向服务端发送9次请求报文,服务端返回客户端的响应报文中,选择其中2次响应报文即可将该更新数据传输给客户端。
上述的更新数据来自服务端的动态数据库中,该动态数据库用于存储客户端所需的各种动态库,动态库可基于客户端指令集进行编译,可以根据客户端的实际需要可以生成多个套动态库,每套动态库对应于一个套用于更新客户端的动态库的更新数据。每个套动态库均有一个ID标签,在获取更新数据大小时,服务端可直接通过动态库的ID标签在动态数据库中确定相应的动态库,从而确定更新数据的大小。
本发明实施例中,若响应报文可用于携带所述更新数据,服务端以ID标签确定客户端需要更新的动态库,从该动态库中提取出更新数据,并基于该更新数据生成响应报文。最后将响应报文发送至客户端,以使客户端可从响应报文提取出更新数据,从而对所述动态库进行更新。
本发明实施例的有益效果是,服务端在接收到请求报文后,采用对应的响应报文携带更新数据进行传输的方式,进而实现动态库更新。从而避免更新数据被截获,提高了系统更新的安全性。进一步地,在请求报文为已有的业务请求报文时,还能够降低服务端与客户端的交互次数。
作为一种实现方式,图2为本发明实施例提供的一种判断请求报文对应的响应报文是否用于携带更新数据的示意图,如图2所示,所述判断请求报文对应的响应报文是否用于携带更新数据,包括:
S201、确定所述请求报文对应的业务类型;
S202、判断所述业务类型是否与预设的业务类型匹配;
S203、若匹配,则确定所述请求报文对应的响应报文用于携带更新数据。
本发明实施例中,服务端可根据更新数据预先配置好请求报文的业务类型,比如视频播放、图片查看、音频缓存和网页浏览等等业务类型,每种业务类型对应于不同的更新数据,比如更新数据A可以对应于视频播放、图片查看和音频缓存等业务类型,更新数据B只对应于网页浏览这种业务类型。服务端从客户端接收到请求报文后,对该请求报文进行识别,并获取到请求报文对应的业务类型,当客户端发送的请求报文的业务类型与预设的业务类型匹配时,表明对应的响应报文可以用于携带相应的更新数据,比如,通过对请求报文进行识别获取到的业务类型为音频缓存,则该请求音频缓存的请求报文对应的响应报文可携带更新数据A。
如果所述业务类型与预设的业务类型不匹配,则确定所述请求报文对应的响应报文不可用于携带更新数据。
所述确定所述请求报文对应的响应报文用于携带更新数据之后,包括:服务端向客户端发送预设的业务类型,从而使客户端能够在接收到响应报文后根据该业务类型确定所述响应报文是否携带更新数据。
需要说明的是,上述具体的应用场景中的判断更新数据与预设的业务类型的对应关系的方式仅仅是可选地实施方式,其判断方式并不唯一,通过其他实施方式达到与本发明实施例相同的技术效果均在本发明的保护范围之内。
优选地,图3为本发明实施例提供的一种基于请求报文以及所述更新数据生成所述响应报文的示意图,如图3所示,所述基于请求报文以及所述更新数据生成所述响应报文,包括:
S301、将所述更新数据的数据格式转换成明文字符串;
S302、基于所述请求报文生成初始响应报文;
S303、在所述初始响应报文中添加识别节点;
S304、基于所述识别节点,将所述明文字符串插入到所述初始响应报文中,得到所述响应报文。
本发明实施例中,可对更新数据进行转换处理,然后基于更新数据得到所述响应报文;具体转换方式为,更新数据在动态数据库中一般以数据格式存在,比如该数据格式为二进制字节码,服务端将该更新数据的二进制字节码转换为明文字符串。根据请求报文生成对应的初始响应报文,在该初始响应报文上添加识别节点,基于所述识别节点,将所述明文字符串插入到所述初始响应报文中,得到所述响应报文。
需要说明的是,该识别节点可用于在初始响应报文中创建两个标签节点,在两个标签节点之间存放更新数据。该识别节点还可直接用于存放该更新数据。将更新数据插入到初始响应报文后,得到的响应报文也存在该识别节点,以用于在客户端接收到该响应报文时,客户端可通过该识别节点获取到更新数据。由于响应报文为在初始响应报文中插入明文字符串后得到的报文,因此,客户端收到响应报文后,可直接基于识别节点获取更新数据。
识别节点的节点类型视响应报文的格式而定,比如xml节点或json节点等。
可选地,接收到来自客户端的请求报文之后,还包括:确定接收到的请求报文的第一数量;
第一数量等于1时,在对应的初始响应报文中添加识别节点,将明文字符串插入到该识别节点中;
第一数量大于1时,拆分明文字符串为子字符串,确定各子字符串对应的第一标号,其中,子字符串的数量为第一数量;在对应的初始响应报文中添加识别节点,确定各初始响应报文对应的第二标号,其中,初始响应报文的数量为所述第一数量;根据第一标号和第二标号将子字符串与初始响应报文进行关联,得到子字符串与初始响应报文的对应关系;在初始响应报文中添加识别节点,基于识别节点,将子字符串插入初始响应报文中。
需要说明的是,该识别节点可用于在初始响应报文创建两个标签节点,在两个标签节点之间存放该明文字符串。该识别节点还可直接用于存放该明文字符串。
本发明实施例中,可以假设有4个用于动态库更新的请求报文,其中,该4个请求报文同时为现有的业务请求报文,则在拆分明文字符串的时,可以拆分成4个或4份。
服务端接收到客户端的请求报文后,判断该请求报文对应的响应报文是否可用于携带更新数据;如果否,则返回现有的响应报文,该响应报文不会携带更新数据;如果是,则选择需要更新的动态库,将更新数据的二进制字节码转换为明文字符串/子字符串。
本发明实施例中,比如接收到2个请求报文,则将明文字符串拆分成2个子字符串,并生成2个初始响应报文,在每个初始响应报文中添加识别节点,并基于识别节点,将子字符串插入初始响应报文中。实际应用中,为方便起见,可以每个初始响应报文添加一个识别节点,但实际上也可以一个初始响应报文添加多个识别节点,此时,需将子字符串对应的第一标号与相应的识别节点建立映射关系,以便客户端根据该映射关系确定更新数据的顺序。同时可对子字符串和初始响应报文进行标号,进而设定子字符串与初始响应报文的对应关系,例如,子字符串A、子字符串B、初始响应报文1和初始响应报文2,子字符串A对应于初始响应报文1,子字符串B对应于初始响应报文2。设定子字符串与初始响应报文的对应关系可以随同响应报文发送给客户端。
在具体的应用场景中,可能存在更新数据过大,但只接收到1个请求报文,则可生成对应于请求报文的多个响应报文。
图4为本发明实施例提供一种动态更新示意图,如图4所示,提供一种动态库更新方法,应用于客户端中,所述方法包括:
S401、向服务端发送请求报文;
S402、接收来自服务端的响应报文,判断所述响应报文是否用于携带更新数据,其中,所述更新数据用于更新本地的动态库;
S403、若所述响应报文用于携带所述更新数据,则基于所述响应报文中携带的所述更新数据,对所述动态库进行更新。
本发明实施例中,客户端向服务端发送请求报文后,客户端会接收到来自服务端的对应与所述请求报文的响应报文。另外,可以是一个或多个响应报文对应于一个请求报文。
本发明实施例中,客户端通过接收到的响应报文来获取到更新数据,加载更新数据以进行动态库的更新。
本发明实施例的有益效果是,可以通过利用现有的请求报文,在接收到请求报文后,采用响应报文携带更新数据进行传输的方式,进而实现动态库更新,从而避免更新数据被截获,提高了系统更新的安全性。
图5为本发明实施例提供的一种判断响应报文是否用于携带更新数据的示意图,如图5所示,所述判断响应报文是否用于携带更新数据,包括:
S501、确定所述响应报文对应的业务类型;
S502、判断所述业务类型是否与所述服务端预设的业务类型匹配;
S503、若匹配,则确定所述响应报文用于携带更新数据。
本发明实施例中,客户端在接收来自服务端的响应报文之前,如果存在更新数据需要更新,客户端会接收到服务端发送的预设的业务类型,该业务类型为服务端根据更新数据预设的请求报文的业务类型,由于响应报文是对应于请求报文的,因此,请求报文、及与该请求报文相对应的响应报文的业务类型是一致的,因此,S501中可直接确定响应报文对应的业务类型。
比如,客户端向服务端发送请求报文A,客户端接收到服务端返回的请求报文A对应的响应报文B,该响应报文B的业务类型C与服务端预设的业务类型C1进行匹配。服务端接收到请求报文A后,确定请求报文A的业务类型C与服务端预设的业务类型C1匹配。
图6为本发明实施例二提供的一种基于响应报文中携带的所述更新数据,对所述动态库进行更新的示意图,如图6所示,作为一种实施方式,所述基于响应报文中携带的所述更新数据,对所述动态库进行更新,包括:
S601、基于识别节点从所述响应报文中获取所述更新数据,其中,所述更新数据的数据格式为明文字符串;
S602、将获取的所述更新数据的数据格式转换成二进制字节码;
S603、根据所述二进制字节码对所述动态库进行更新。
本发明实施例中,客户端接收的更新数据以数据格式存在响应报文中,比如该数据格式为明文字符串。客户端从响应报文的识别节点中获取到更新数据后,然后将该更新数据的数据格式转换为二进制字节码,最后根据二进制字节码对动态库进行更新。该识别节点的节点类型视响应报文的格式而定,比如xml节点或json节点等。
本发明实施例中,在客户端根据二进制字节码对动态库进行更新过程中,可将该二进制字节码临时缓存在本地文件中,得到一个临时的动态数据库,通过加载该动态数据库,在程序内存中将原动态库的函数方法替换为动态数据库的函数方法,以实现动态库更新。
另外,在对动态库进行更新之前,为了防止更新失败,可先备份原动态库,以用于回退操作。
可选地,向服务端发送请求报文之前,还包括:确定发送的请求报文的第一数量;
第一数量等于1时,在响应报文中确定识别节点,提取识别节点中的明文字符串;
第一数量大于1时,在响应报文中确定识别节点,提取识别节点中的子字符串;
根据子字符串与响应报文的对应关系确定各子字符串的第一标号,根据第一标号对子字符串进行排序,生成明文字符串。
本发明实施例中,可根据请求报文的第一数量判定响应报文携带的是明文字符串还是子字符串。比如,假如第一数量为1,则可知响应报文携带的为1个完整的明文字符串。假如第一数量为4,则可知4个响应报文携带的对应的4个分散的子字符串。然后获取到子字符串A、子字符串B、子字符串C、子字符串D、响应报文1、响应报文2、响应报文3和响应报文4。获取到子字符串和响应报文的对应关系为子字符串A对应于响应报文2、子字符串B对应于响应报文1、子字符串C对应于响应报文4和子字符串D对应于响应报文3。最后根据各子字符串的第一标号进行排序,最后生成明文字符串。
需要说明的是,在实际应用中,由于一个请求报文可对应于一个或多个响应报文,当明文字符串很大时,服务端仅接受到一个请求报文,则对应的响应报文可根据实际情况生成适合的数量。比如,需要3个响应报文才可以将明文字符串传输到客户端。则生成对应于1个请求报文的3个响应报文。
作为一种实施方式,将获取的所述更新数据的数据格式转换成二进制字节码之前,还包括:
根据响应报文对应的第二标号确定设定时间内响应报文的获取状态;
根据获取状态判断是否将所述更新数据的数据格式转换为二进制文件。
本发明实施例中,由于存在接收到的更新数据的数据格式为子字符串的情况,还需要根据子字符串的第一标号对子字符串排序以生成完整的明文字符串,最后完整的明文字符串转换为二进制文件。比如,客户端依次获取到响应报文1、响应报文2、响应报文4和响应报文3,在获取到响应报文3后,在接下来的2S时间内并未在接收到响应报文,则可判定该响应报文3为接收到的最后一个响应报文,最后根据响应报文与子字符串的对应关系,对子字符串排序,从而得到完整的明文字符串。
图7为本发明实施例三提供的一种动态库更新装置的逻辑示意图,如图7所示,一种动态库更新装置,所述装置包括:
第一判断模块701,用于接收到来自客户端的请求报文,判断所述请求报文对应的响应报文是否用于携带更新数据,其中,所述更新数据用于更新所述客户端的动态库;
生成模块702,用于若所述响应报文用于携带所述更新数据,则基于所述请求报文以及所述更新数据生成所述响应报文;
第一更新模块703,用于将所述响应报文发送至所述客户端,以使所述客户端基于所述响应报文对所述动态库进行更新。
本发明实施例的有益效果是,通过利用已有的业务请求,在接收到请求报文后,采用响应报文携带更新数据进行传输的方式,进而实现动态库更新。从而避免更新数据被截获,提高了系统更新的安全性。
图8为本发明实施例四提供的一种动态库更新装置的逻辑示意图,如图8所示,还提供一种动态库更新装置,所述装置包括:
发送模块801,用于向服务端发送请求报文;
第二判断模块802,用于接收来自服务端的响应报文,判断所述响应报文是否用于携带更新数据,其中,所述更新数据用于更新本地的动态库;
第二更新模块803,用于若所述响应报文用于携带所述更新数据,则基于所述响应报文中携带的所述更新数据,对所述动态库进行更新。
本发明实施例的有益效果是,通过利用已有的业务请求,在接收到请求报文后,采用响应报文携带更新数据进行传输的方式,进而实现动态库更新。从而避免更新数据被截获,提高了系统更新的安全性。
本发明实施例五还提供了一种存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述实施例中客户端或服务端的动态库更新方法。
为了更清楚的阐述本发明技术方案,图9为本发明实施例提供的一种动态库更新示意图。
如图9所示,客户端的应用程序向服务端发送请求报文,服务端判断该请求报文对应的响应报文是否可携带更新数据,若否,则返回现有的业务响应报文,若是,则服务端从预先生成的n个动态库中选择1个动态库进行读取,从动态库中获取到二进制字节码,将二进制字节码转换成明文字符串,根据请求报文的数量对明文字符串进行拆分,得到的子字符串的数量和请求报文的数量一致。然后基于请求报文对应的响应报文,将n串子字符串插入到n个响应报文中,服务端将n个响应报文发送给客户端。客户端接收到n个响应报文后,通过识别响应报文,判断出这些响应报文可用于携带更新数据,即从n个响应报文中获取到n个子字符串,将n个子字符串进行合并得到完整的明文字符串,然后将明文字符串转换成二进制字节码,将二进制字节码临时存到本地文件形成动态库A,加载动态库A以对应用程序的动态库进行更新。
本发明实施例的有益效果是,通过利用已有的业务请求,在接收到请求报文后,采用响应报文携带更新数据进行传输的方式,进而实现动态库更新。从而避免更新数据被截获,提高了系统更新的安全性。
本发明实施例中,图10还提供一种动态库更新装置610,包括:处理器601和用于存储能够在处理器上运行的计算机程序的存储器602,其中,所述处理器用于运行所述计算机程序时,执行上述实施例中客户端或服务端的动态库更新方法。
具体地,上述本发明实施例揭示的方法可以应用于处理器610中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器601可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成前述方法的步骤。
存储器602可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,DynamicRandom Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic RandomAccess Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data RateSynchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器602旨在包括但不限于这些和任意其它适合类型的存储器。
见图10,是本发明实施例提供的动态库更新装置610的一个可选的结构示意图,图10所示的动态库更新装置包括:至少一个处理器601、至少一个通信接口603、至少一个通信总线604和存储器602。动态库更新装置610中的各个组件通过通信总线604耦合在一起。可以理解,通信总线604用于实现这些组件之间的连接通信。通信总线604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为通信总线604。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种动态库更新方法,应用于服务端中,其特征在于,所述方法包括:
接收到来自客户端的请求报文,判断所述请求报文对应的响应报文是否用于携带更新数据,其中,所述更新数据用于更新所述客户端的动态库;
若所述响应报文用于携带所述更新数据,则基于所述请求报文以及所述更新数据生成所述响应报文;
将所述响应报文发送至所述客户端,以使所述客户端基于所述响应报文对所述动态库进行更新。
2.根据权利要求1所述的方法,其特征在于,所述判断所述请求报文对应的响应报文是否用于携带更新数据,包括:
确定所述请求报文对应的业务类型;
判断所述业务类型是否与预设的业务类型匹配;
若匹配,则确定所述请求报文对应的响应报文用于携带更新数据。
3.根据权利要求1所述的方法,其特征在于,所述基于请求报文以及所述更新数据生成所述响应报文,包括:
将所述更新数据的数据格式转换成明文字符串;
基于所述请求报文生成初始响应报文;
在所述初始响应报文中添加识别节点;
基于所述识别节点,将所述明文字符串插入到所述初始响应报文中,得到所述响应报文。
4.一种动态库更新方法,应用于客户端中,其特征在于,所述方法包括:
向服务端发送请求报文;
接收来自服务端的响应报文,判断所述响应报文是否用于携带更新数据,其中,所述更新数据用于更新本地的动态库;
若所述响应报文用于携带所述更新数据,则基于所述响应报文中携带的所述更新数据,对所述动态库进行更新。
5.根据权利要求4所述的方法,其特征在于,所述判断所述响应报文是否用于携带更新数据,包括:
确定响应报文对应的业务类型;
判断所述业务类型是否与所述服务端预设的业务类型匹配;
若匹配,则确定所述响应报文用于携带更新数据。
6.根据权利要求4所述的方法,其特征在于,所述基于所述响应报文中携带的所述更新数据,对所述动态库进行更新,包括:
基于识别节点从所述响应报文中获取更新数据,其中,所述更新数据的数据格式为明文字符串;
将获取的所述更新数据的数据格式转换成二进制字节码;
根据所述二进制字节码对所述动态库进行更新。
7.一种动态库更新装置,其特征在于,所述装置包括:
第一判断模块,用于接收到来自客户端的请求报文,判断所述请求报文对应的响应报文是否用于携带更新数据,其中,所述更新数据用于更新所述客户端的动态库;
生成模块,用于若所述响应报文用于携带所述更新数据,则基于所述请求报文以及所述更新数据生成所述响应报文;
第一更新模块,用于将所述响应报文发送至所述客户端,以使所述客户端基于所述响应报文对所述动态库进行更新。
8.一种动态库更新装置,其特征在于,所述装置包括:
发送模块,用于向服务端发送请求报文;
第二判断模块,用于接收来自服务端的响应报文,判断所述响应报文是否用于携带更新数据,其中,所述更新数据用于更新本地的动态库;
第二更新模块,用于若所述响应报文用于携带所述更新数据,则基于所述响应报文中携带的所述更新数据,对所述动态库进行更新。
9.一种存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至3任一所述方法的步骤,或权利要求或4至6任一项所述的方法。
10.一种动态库更新装置,其特征在于,所述装置包括:
处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至3任一所述的方法,或执行权利要求4至6任一所述的方法。
CN201810380872.3A 2018-04-25 2018-04-25 一种动态库更新方法、装置及存储介质 Pending CN108614714A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810380872.3A CN108614714A (zh) 2018-04-25 2018-04-25 一种动态库更新方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810380872.3A CN108614714A (zh) 2018-04-25 2018-04-25 一种动态库更新方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN108614714A true CN108614714A (zh) 2018-10-02

Family

ID=63661263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810380872.3A Pending CN108614714A (zh) 2018-04-25 2018-04-25 一种动态库更新方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108614714A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933410A (zh) * 2019-03-22 2019-06-25 北京智游网安科技有限公司 一种基于虚拟化技术的虚拟指令下发方法及系统
CN110135414A (zh) * 2019-05-16 2019-08-16 京北方信息技术股份有限公司 语料库更新方法、装置、存储介质及终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1933535A2 (en) * 2006-11-27 2008-06-18 Morgan Stanley Merging realtime data flows
CN101958799A (zh) * 2009-07-14 2011-01-26 中兴通讯股份有限公司 一种终端升级方法、装置和系统
CN102064955A (zh) * 2009-11-17 2011-05-18 中兴通讯股份有限公司 光网络单元远程升级的方法与系统
CN106506246A (zh) * 2016-12-28 2017-03-15 瑞斯康达科技发展股份有限公司 光网络单元、其动态扩展管理功能的方法及gpon系统
CN107222473A (zh) * 2017-05-26 2017-09-29 四川长虹电器股份有限公司 在传输层对api服务数据进行加解密的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1933535A2 (en) * 2006-11-27 2008-06-18 Morgan Stanley Merging realtime data flows
CN101958799A (zh) * 2009-07-14 2011-01-26 中兴通讯股份有限公司 一种终端升级方法、装置和系统
CN102064955A (zh) * 2009-11-17 2011-05-18 中兴通讯股份有限公司 光网络单元远程升级的方法与系统
CN106506246A (zh) * 2016-12-28 2017-03-15 瑞斯康达科技发展股份有限公司 光网络单元、其动态扩展管理功能的方法及gpon系统
CN107222473A (zh) * 2017-05-26 2017-09-29 四川长虹电器股份有限公司 在传输层对api服务数据进行加解密的方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933410A (zh) * 2019-03-22 2019-06-25 北京智游网安科技有限公司 一种基于虚拟化技术的虚拟指令下发方法及系统
CN109933410B (zh) * 2019-03-22 2021-06-01 北京智游网安科技有限公司 一种基于虚拟化技术的虚拟指令下发方法及系统
CN110135414A (zh) * 2019-05-16 2019-08-16 京北方信息技术股份有限公司 语料库更新方法、装置、存储介质及终端
CN110135414B (zh) * 2019-05-16 2021-07-09 京北方信息技术股份有限公司 语料库更新方法、装置、存储介质及终端

Similar Documents

Publication Publication Date Title
EP3591510B1 (en) Method and device for writing service data in block chain system
US6996833B1 (en) Protocol agnostic request response pattern
CN105426223B (zh) 应用加载方法和装置
CN108573371A (zh) 数据审批方法、装置、计算机设备和存储介质
CN109656889B (zh) 基于区块链的文件系统实现方法、装置、设备和存储介质
CN107885540A (zh) 一种加载应用程序静态资源的方法、装置及终端
CN108363564A (zh) 多项目组件化实现方法、装置、终端设备及存储介质
CN109669709A (zh) 一种区块链升级的数据迁移方法及数据迁移系统
CN106656650A (zh) 业务测试环境的生成方法和系统、业务测试的方法、装置和系统
CN109062925A (zh) 自动生成insert语句的方法、装置、计算机设备及存储介质
CN108616599A (zh) 应用服务注册、更新的方法及装置
CN110493336A (zh) 一种灰度发布过程中确定目标用户端的方法和装置
CN108512898A (zh) 文件推送方法、装置、计算机设备和存储介质
CN107797823A (zh) 业务规则管理方法、装置、存储介质和计算机设备
CN112035216A (zh) 一种Kubernetes集群网络和OpenStack网络的打通方法
CN110442307A (zh) 一种Linux系统中磁盘的绑定方法、设备以及存储介质
CN108241503A (zh) 注释说明的生成方法及装置
CN108614714A (zh) 一种动态库更新方法、装置及存储介质
CN109213536A (zh) 资源展示方法、资源展示类控件的配置方法、装置及设备
CN104052626A (zh) 配置网元数据的方法、装置和系统
CN113961179A (zh) Soar平台的服务接入方法、系统、电子装置和存储介质
CN107861751A (zh) 配置文件的修改方法及装置
CN106990974A (zh) 一种app应用更新方法、装置及电子设备
CN105988785A (zh) 一种rpc服务开发方法及装置
CN103220355B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181002

RJ01 Rejection of invention patent application after publication