CN111221547B - 客户端更新进度监控方法、存储介质、电子设备及系统 - Google Patents
客户端更新进度监控方法、存储介质、电子设备及系统 Download PDFInfo
- Publication number
- CN111221547B CN111221547B CN201811408685.8A CN201811408685A CN111221547B CN 111221547 B CN111221547 B CN 111221547B CN 201811408685 A CN201811408685 A CN 201811408685A CN 111221547 B CN111221547 B CN 111221547B
- Authority
- CN
- China
- Prior art keywords
- update
- client
- program
- updating
- custom named
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种客户端更新进度监控方法、存储介质、电子设备及系统,涉及客户端更新技术领域,该方法包括:创建自定义命名管道服务控件,其用于创建自定义命名管道,自定义命名管道用于在更新程序以及客户端间进行通信;当更新进度发生变化时,更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与客户端连接,若连接成功,则向客户端发送更新进度信息,反之则不发送;当客户端持续接收到更新进度信息时,更新程序继续工作直至更新完毕,当客户端持续未接收到更新进度信息时,终止更新操作。本发明基于自定义命名管道服务控件在更新程序以及客户端之间建立通信通道,能够掌握更新进度以及更新状态。
Description
技术领域
本发明涉及客户端更新技术领域,具体涉及一种客户端更新进度监控方法、存储介质、电子设备及系统。
背景技术
当前的客户端软件更新方式有两种:即显示更新和隐式更新。显示更新即会弹出更新界面,用户能够看到更新进度、更新内容等信息,待更新完成,自动启动新版直播客户端程序;隐式更新即后台更新,不能看到更新界面,但会启动旧版目标程序,不影响用户使用客户端,一边更新一边正常使用。
现阶段,较为常用的是隐式更新方式,但在隐式更新流程下,用户无法感知更新的相关信息,只有在重启直播客户端之后才能看到新版的修改内容。
因此,需要一种能够帮助用户在客户端更新时,就能过掌握其更新进度以及更新状态的客户端更新进度监控方法。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种客户端更新进度监控方法,基于自定义命名管道服务控件在更新程序以及客户端之间建立通信通道,从而对客户端的更新进度进行监控,保证在客户端更新时,能够掌握其更新进度以及更新状态。
为达到以上目的,本发明采取的技术方案是:
第一方面,本发明提供一种客户端更新进度监控方法,其包括以下步骤:
创建自定义命名管道服务控件,其用于创建自定义命名管道,所述自定义命名管道用于在更新程序以及客户端间进行通信;
当更新程序的更新进度发生变化时,所述更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与所述客户端连接,若连接成功,则向所述客户端发送更新进度信息,反之则不发送;
当所述客户端持续接收到更新进度信息时,更新程序继续工作直至更新完毕,当所述客户端持续未接收到更新进度信息时,更新程序挂起,终止更新操作;其中,
所述自定义命名管道服务控件配置有load接口和unload接口,所述方法还包括以下步骤:
所述更新程序在初始化时,加载所述自定义命名管道服务控件,并根据load接口,初始化自定义命名管道服务控件,并设置所述回调函数;
当所述更新程序结束时,调用unload接口,卸载所述自定义命名管道服务控件;
所述自定义命名管道服务控件遵循热插拔工作机制;
所述自定义命名管道为非阻塞模式;
所述自定义命名管道服务控件被配置在所述客户端内。
在上述技术方案的基础上,自定义命名管道包含第一监测端以及第二监测端;
所述第一监测端用于监控用户关闭客户端时发出的关机信号;
所述第二监测端用于监控自定义命名管道与所述客户端的连接情况。
在上述技术方案的基础上,当用户广播直播间客户端时,所述第一监测端监测到所述关机信号时,向所述更新程序发送指令,所述更新程序结束更新进程,进而所述直播间客户端正常关闭。
在上述技术方案的基础上,当所述客户端与所述自定义命名管道正常连接时,所述第二监测端发送正常连接信号,所述更新程序接收到所述正常连接信号后,向所述客户端发送更新进度信息。
第二方面,本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的客户端更新进度监控方法。
第三方面,本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的客户端更新进度监控方法。
第四方面,本发明还提供一种客户端更新进度监控系统,其包括:
自定义命名管道服务控件,其用于创建自定义命名管道,所述自定义命名管道用于在更新程序以及客户端间进行通信;
更新进度信息发送单元,其用于当更新程序的更新进度发生变化时,所述更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与所述客户端连接,若连接成功,则向所述客户端发送更新进度信息,反之则不发送;
更新监控单元,其用于当所述客户端持续接收到更新进度信息时,更新程序继续工作直至更新完毕,当所述客户端持续未接收到更新进度信息时,更新程序挂起,终止更新操作;
所述自定义命名管道服务控件配置有load接口和unload接口;
所述更新程序在初始化时,加载所述自定义命名管道服务控件,并根据load接口,初始化自定义命名管道服务控件,并设置所述回调函数;
当所述更新程序结束时,调用unload接口,卸载所述自定义命名管道服务控件;
所述自定义命名管道服务控件遵循热插拔工作机制;
所述自定义命名管道为非阻塞模式;
所述自定义命名管道服务控件被配置在所述客户端内。
与现有技术相比,本发明的优点在于:
本发明基于自定义命名管道服务控件在更新程序以及客户端之间建立通信通道,从而对客户端的更新进度进行监控,保证在客户端更新时,能够掌握其更新进度以及更新状态。
附图说明
图1为本发明实施例一提供的一种客户端更新进度监控方法的步骤流程图;
图2为本发明实施例二提供的一种客户端更新进度监控系统的结构框图;
图3为本发明实施例四提供的一种客户端更新进度监控电子设备的结构框图;
图中: 1、自定义命名管道服务控件;2、更新进度信息发送单元;3、更新监控单元。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
本发明实施例提供一种客户端更新进度监控方法、存储介质、电子设备及系统,基于自定义命名管道服务控件在更新程序以及客户端之间建立通信通道,从而对客户端的更新进度进行监控,保证在客户端更新时,能够掌握其更新进度以及更新状态。
为达到上述技术效果,本申请的总体思路如下:
一种客户端更新进度监控方法,其包括以下步骤:
S1、创建自定义命名管道服务控件,其用于创建自定义命名管道,所述自定义命名管道用于在更新程序以及客户端间进行通信;
S2、当更新程序的更新进度发生变化时,所述更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与所述客户端连接,若连接成功,则向所述客户端发送更新进度信息,反之则不发送;
S3、当所述客户端持续接收到更新进度信息时,更新程序继续工作直至更新完毕,当所述客户端持续未接收到更新进度信息时,更新程序挂起,终止更新操作。
实施例一
参见图1所示,本发明实施例提供一种客户端更新进度监控方法,包括以下步骤:
S1、创建自定义命名管道服务控件,其用于创建自定义命名管道,自定义命名管道用于在更新程序以及客户端间进行通信;
S2、当更新程序的更新进度发生变化时,更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与客户端连接,若连接成功,则向客户端发送更新进度信息,反之则不发送;
S3、当客户端持续接收到更新进度信息时,更新程序继续工作直至更新完毕,当客户端持续未接收到更新进度信息时,更新程序挂起,终止更新操作。
本发明实施例,基于自定义命名管道服务控件在更新程序以及客户端之间建立通信通道,从而对客户端的更新进度进行监控,保证在客户端更新时,能够掌握其更新进度以及更新状态。
在本发明实施例中,步骤S1首先创建一个插件,该插件具体为自定义命名管道服务控件,其用于创建自定义命名管道,自定义命名管道用于在更新程序以及客户端间进行通信,此自定义命名管道作为了解更新进度的通信通道;
具体操作时,自定义命名管道服务控件也就是动态库,自定义命名管道服务控件存在两个接口,即load接口和unload接口,更新程序在初始化时,会根据更新配置文件提供的自定义命名管道服务控件所在的文件夹名,去安装目录该文件夹下加载自定义命名管道服务控件,加载完成后,更新程序根据load接口,初始化自定义命名管道服务控件,并设置一个更新回调函数;当更新程序结束时,调用unload接口,卸载自定义命名管道服务控件;
其中,回调函数用于回调当前更新程序的更新进度信息,从而了解更新程序当前处于什么阶段(如检验、下载、拷贝、完成等),当前阶段的进度等信息;
此处的回调函数可以是系统自带的回调函数,当更新进度有变化时,更新程序就会调用上述的回调函数,调用更新程序的更新进度,进而自定义命名管道服务控件再利用自定义命名管道将更新进度信息同步给客户端,如果自定义命名管道服务控件将更新程序与客户端进行成功连接,就通过自定义命名管道向其发送更新进度信息;否则就不发送,认为此次发送失败;
需要说明的是,回调函数就是一个通过函数指针调用的函数,假若把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,那么就称之为回调函数,回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
在步骤S2中,当更新程序的更新进度发生变化时,更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与客户端连接,若连接成功,则向客户端发送更新进度信息,反之则不发送;
该回调函数主要用于回调当前更新程序的更新进度信息;
具体操作时,当更新进度有变化时,更新程序就会调用上述的回调函数,进而自定义命名管道服务控件再利用自定义命名管道将更新进度信息同步给客户端,如果自定义命名管道服务控件将更新程序与客户端进行成功连接,就通过自定义命名管道向其发送更新进度信息;否则就不发送,认为此次发送失败。
其中,回调函数的程序具体可以是以下代码:
//更新回调参数
typedef struct
{
wchar_t currentFile[255]; //当前正在更新的文件
int totalFiles; //总共需要更新的文件
FileUpdateStatus status; //文件的更新状态
int64_t curFileSize; //当前需要更新的文件大小
int64_t sizeDownloaded; //当前需要更新的文件已下载的大小
int numDownloaded; //已经下载完成的文件个数
uint64_t totalBytes; //下载的总字节数
}FileUpdateCallbackinfo;
typedef void (*FILE_UPDATE_CALLBACK)(const FileUpdateCallbackinfo*param,void* opaque);//
上述程序即为回调函数的具体程序代码,最终获取更新进度信息;
需要说明的是,“FileUpdateCallbackinfo;
typedef void (*FILE_UPDATE_CALLBACK)(const FileUpdateCallbackinfo*param,void* opaque);”是该回调函数的定义声明部分,即该回调函数的名称为“FILE_UPDATE_CALLBACK”,而该回调函数包含2个参数,分别为FileUpdateCallbackinfo和void,而param以及opaque则是指针;
其中wchar_t是C/C++的字符类型,是一种扩展的存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于uni编码,uni编码的字符一般以wchar_t类型存储;
intN_t格式的宏指一个有N位的整数,例如,int16_t指一个16位的有符号的整数,uintN_t格式的宏指定一个有N位的无符号的整数,例如,uint32_t指定一个32位的无符号的整数,N值等于8、16、32和64的宏可在所有提供这些宽度的整数的环境中找到;
Int64是有符号 64 位整数数据类型,相当于C++中的long long、 C# 中的 long和 SQL Server 中的 bigint,表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数;
typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,它与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。
需要说明的是,自定义命名管道存在一个服务端,该服务端位于客户端内,当更新程序根据对应的自定义命名管道,与客户端连接时,具体是更新程序先与该服务端进行连接,进而跟客户端进行连接,从而能够进行通信。
其中,由于当更新进度有变化时,更新程序就会调用上述的回调函数,而更新程序存在多个子更新程序,每个子更新程序负责部分更新任务,在实际操作时,更新程序进行预先的改进,即各子更新程序均配置一与各子更新程序对应的子更新程序标记文件,当该子更新程序完成自身的更新任务后,更新程序将该子更新程序标记文件发送至自定义命名管道服务控件,进而自定义命名管道服务控件一方面能够在接收子更新程序标记文件时,表示该子更新程序完成了其更新任务,另一方面能够作为调用回调函数的指令信号,开始回调工作。
需要说明的是,客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序,除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行,因特网发展以后,较常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等,而对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,电子邮件服务等等,这样在客户机和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。
在本发明实施例中,自定义命名管道服务控件被配置在直播间客户端内。
在本发明实施例中,自定义命名管道服务控件遵循热插拔工作机制,自定义命名管道服务控件工作时不影响更新程序以及客户端的正常工作;
热插拔(hot-plugging或Hot Swap)即带电插拔,热插拔功能允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等,例如一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。
在本发明实施例中,自定义命名管道为非阻塞模式;
需要说明的是,此处的非阻塞模式是指利用socket事件的消息机制,Server端与Client端之间的通信处于异步状态;
假若更新程序一直未与客户端连接,即命自定义命名管道的服务端一直没有被连接,此时,直播客户端的更新线程会被挂起,这时关闭客户端,直播客户端的更新线程没有正常结束,会造成直播客户端关闭异常,而采用非阻塞模式则不会出现客户端关闭异常的情况。
在本发明实施例中,自定义命名管道包含第一监测端以及第二监测端;
第一监测端用于监控用户关闭客户端时发出的关机信号;
第二监测端用于监控自定义命名管道与客户端的连接情况;
当关闭客户端时,会触发第一监测端,更新程序收到该关机信号后,就会正常结束更新线程,客户端可以正常退出;
当有客户端连接自定义命名管道时,会触发第二监测端,从而为获得更新进度信息进行准备。
在本发明实施例中,当用户广播直播间客户端时,第一监测端监测到关机信号时,向更新程序发送指令,更新程序结束更新进程,进而直播间客户端正常关闭。
在本发明实施例中,当客户端与自定义命名管道正常连接时,第二监测端发送正常连接信号,更新程序接收到正常连接信号后,向客户端发送更新进度信息。
基于同一发明构思,本申请提供了实施例一对应的客户端更新进度监控系统的实施例,详见实施例二
实施例二
如图2所示,本发明第二实施例提供了一种客户端更新进度监控系统,其包括:
自定义命名管道服务控件1,其用于创建自定义命名管道,自定义命名管道用于在更新程序以及客户端间进行通信;
更新进度信息发送单元2,其用于当更新程序的更新进度发生变化时,更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与客户端连接,若连接成功,则向客户端发送更新进度信息,反之则不发送;
更新监控单元3,其用于当客户端持续接收到更新进度信息时,更新程序继续工作直至更新完毕,当客户端持续未接收到更新进度信息时,更新程序挂起,终止更新操作。
本发明实施例,基于自定义命名管道服务控件1在更新程序以及客户端之间建立通信通道,从而对客户端的更新进度进行监控,保证在客户端更新时,能够掌握其更新进度以及更新状态。
在本发明实施例中,首先创建一个插件,该插件具体为自定义命名管道服务控件1,其用于创建自定义命名管道,自定义命名管道用于在更新程序以及客户端间进行通信,此自定义命名管道作为了解更新进度的通信通道;
具体操作时,自定义命名管道服务控件1也就是动态库,自定义命名管道服务控件1存在两个接口,即load接口和unload接口,更新程序在初始化时,会根据更新配置文件提供的自定义命名管道服务控件1所在的文件夹名,去安装目录该文件夹下加载自定义命名管道服务控件1,加载完成后,更新程序根据load接口,初始化自定义命名管道服务控件1,并设置一个更新回调函数;当更新程序结束时,调用unload接口,卸载自定义命名管道服务控件1;
其中,回调函数用于回调当前更新程序的更新进度信息,从而了解更新程序当前处于什么阶段(如检验、下载、拷贝、完成等),当前阶段的进度等信息。
更新进度信息发送单元2工作时,当更新程序的更新进度发生变化时,更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与客户端连接,若连接成功,则向客户端发送更新进度信息,反之则不发送;
该回调函数主要用于回调当前更新程序的更新进度信息;
具体操作时,当更新进度有变化时,更新程序就会调用上述的回调函数,进而计划将更新进度信息同步给客户端,如果自定义命名管道服务控件1将更新程序与客户端进行成功连接,就通过自定义命名管道向其发送更新进度信息;否则就不发送,认为此次发送失败。
需要说明的是,自定义命名管道存在一个服务端,该服务端位于客户端内,当更新程序根据对应的自定义命名管道,与客户端连接时,具体是更新程序先与该服务端进行连接,进而跟客户端进行连接,从而能够进行通信。
其中,由于当更新进度有变化时,更新程序就会调用上述的回调函数,而更新程序存在多个子更新程序,每个子更新程序负责部分更新任务,在实际操作时,更新程序进行预先的改进,即各子更新程序均配置一与各子更新程序对应的子更新程序标记文件,当该子更新程序完成自身的更新任务后,更新程序将该子更新程序标记文件发送至自定义命名管道服务控件1,进而自定义命名管道服务控件1一方面能够在接收子更新程序标记文件时,表示该子更新程序完成了其更新任务,另一方面能够作为调用回调函数的指令信号,开始回调工作。
在本发明实施例中,自定义命名管道服务控件1被配置在直播间客户端内。
在本发明实施例中,自定义命名管道服务控件1遵循热插拔工作机制,自定义命名管道服务控件1工作时不影响更新程序以及客户端的正常工作;
热插拔(hot-plugging或Hot Swap)即带电插拔,热插拔功能允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等。
在本发明实施例中,自定义命名管道为非阻塞模式;
需要说明的是,此处的非阻塞模式是指利用socket事件的消息机制,Server端与Client端之间的通信处于异步状态;
假若更新程序一直未与客户端连接,即命自定义命名管道的服务端一直没有被连接,此时,直播客户端的更新线程会被挂起,这时关闭客户端,直播客户端的更新线程没有正常结束,会造成直播客户端关闭异常,而采用非阻塞模式则不会出现客户端关闭异常的情况。
在本发明实施例中,自定义命名管道包含第一监测端以及第二监测端;
第一监测端用于监控用户关闭客户端时发出的关机信号;
第二监测端用于监控自定义命名管道与客户端的连接情况;
当关闭客户端时,会触发第一监测端,更新程序收到该关机信号后,就会正常结束更新线程,客户端可以正常退出;
当有客户端连接自定义命名管道时,会触发第二监测端,从而为获得更新进度信息进行准备。
在本发明实施例中,当用户广播直播间客户端时,第一监测端监测到关机信号时,向更新程序发送指令,更新程序结束更新进程,进而直播间客户端正常关闭。
在本发明实施例中,当客户端与自定义命名管道正常连接时,第二监测端发送正常连接信号,更新程序接收到正常连接信号后,向客户端发送更新进度信息。
基于同一发明构思,本申请提供了实施例一对应的存储介质的实施例,详见实施例三
实施例三
本发明第三实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一实施例中的所有方法步骤或部分方法步骤。
本发明实现上述第一实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
基于同一发明构思,本申请提供了实施例一对应的电子设备的实施例,详见实施例四
实施例四
如图3所示,本发明第四实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种客户端更新进度监控方法,其特征在于,其包括以下步骤:
创建自定义命名管道服务控件,其用于创建自定义命名管道,所述自定义命名管道用于在更新程序以及客户端间进行通信;
当更新程序的更新进度发生变化时,所述更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与所述客户端连接,若连接成功,则向所述客户端发送更新进度信息,反之则不发送;
当所述客户端持续接收到更新进度信息时,更新程序继续工作直至更新完毕,当所述客户端持续未接收到更新进度信息时,更新程序挂起,终止更新操作;其中,
所述自定义命名管道服务控件配置有load接口和unload接口,所述方法还包括以下步骤:
所述更新程序在初始化时,加载所述自定义命名管道服务控件,并根据load接口,初始化自定义命名管道服务控件,并设置所述回调函数;
当所述更新程序结束时,调用unload接口,卸载所述自定义命名管道服务控件;
所述自定义命名管道服务控件遵循热插拔工作机制;
所述自定义命名管道为非阻塞模式;
所述自定义命名管道服务控件被配置在所述客户端内。
2.如权利要求1所述的方法,其特征在于:自定义命名管道包含第一监测端以及第二监测端;
所述第一监测端用于监控用户关闭客户端时发出的关机信号;
所述第二监测端用于监控自定义命名管道与所述客户端的连接情况。
3.如权利要求2所述的方法,其特征在于,当用户广播直播间客户端时,所述第一监测端监测到所述关机信号时,向所述更新程序发送指令,所述更新程序结束更新进程,进而所述直播间客户端正常关闭。
4.如权利要求2所述的方法,其特征在于,当所述客户端与所述自定义命名管道正常连接时,所述第二监测端发送正常连接信号,所述更新程序接收到所述正常连接信号后,向所述客户端发送更新进度信息。
5.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法。
6.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的方法。
7.一种客户端更新进度监控系统,其特征在于,其包括:
自定义命名管道服务控件,其用于创建自定义命名管道,所述自定义命名管道用于在更新程序以及客户端间进行通信;
更新进度信息发送单元,其用于当更新程序的更新进度发生变化时,所述更新程序调用回调函数获取更新进度信息,并根据对应的自定义命名管道,与所述客户端连接,若连接成功,则向所述客户端发送更新进度信息,反之则不发送;
更新监控单元,其用于当所述客户端持续接收到更新进度信息时,更新程序继续工作直至更新完毕,当所述客户端持续未接收到更新进度信息时,更新程序挂起,终止更新操作;
所述自定义命名管道服务控件配置有load接口和unload接口;
所述更新程序在初始化时,加载所述自定义命名管道服务控件,并根据load接口,初始化自定义命名管道服务控件,并设置所述回调函数;
当所述更新程序结束时,调用unload接口,卸载所述自定义命名管道服务控件;
所述自定义命名管道服务控件遵循热插拔工作机制;
所述自定义命名管道为非阻塞模式;
所述自定义命名管道服务控件被配置在所述客户端内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811408685.8A CN111221547B (zh) | 2018-11-23 | 2018-11-23 | 客户端更新进度监控方法、存储介质、电子设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811408685.8A CN111221547B (zh) | 2018-11-23 | 2018-11-23 | 客户端更新进度监控方法、存储介质、电子设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221547A CN111221547A (zh) | 2020-06-02 |
CN111221547B true CN111221547B (zh) | 2023-09-05 |
Family
ID=70805312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811408685.8A Active CN111221547B (zh) | 2018-11-23 | 2018-11-23 | 客户端更新进度监控方法、存储介质、电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221547B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11704106B2 (en) * | 2019-11-08 | 2023-07-18 | Toyota Jidosha Kabushiki Kaisha | Program update system and vehicle management server |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593121A (zh) * | 2009-06-23 | 2009-12-02 | 中兴通讯股份有限公司 | 软件在线升级的方法、装置及系统 |
CN104809028A (zh) * | 2015-05-07 | 2015-07-29 | 厦门雅迅网络股份有限公司 | 一种本地多进程间数据订阅推送的方法 |
CN106020899A (zh) * | 2016-05-30 | 2016-10-12 | 乐视控股(北京)有限公司 | 一种应用程序的下载方法及移动终端 |
WO2017161338A1 (en) * | 2016-03-18 | 2017-09-21 | TUPL, Inc. | Continuous and automatic distributed application development and deployment |
CN108600029A (zh) * | 2018-05-09 | 2018-09-28 | 深圳壹账通智能科技有限公司 | 一种配置文件更新方法、装置、终端设备及存储介质 |
-
2018
- 2018-11-23 CN CN201811408685.8A patent/CN111221547B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593121A (zh) * | 2009-06-23 | 2009-12-02 | 中兴通讯股份有限公司 | 软件在线升级的方法、装置及系统 |
CN104809028A (zh) * | 2015-05-07 | 2015-07-29 | 厦门雅迅网络股份有限公司 | 一种本地多进程间数据订阅推送的方法 |
WO2017161338A1 (en) * | 2016-03-18 | 2017-09-21 | TUPL, Inc. | Continuous and automatic distributed application development and deployment |
CN106020899A (zh) * | 2016-05-30 | 2016-10-12 | 乐视控股(北京)有限公司 | 一种应用程序的下载方法及移动终端 |
CN108600029A (zh) * | 2018-05-09 | 2018-09-28 | 深圳壹账通智能科技有限公司 | 一种配置文件更新方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111221547A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101593121B (zh) | 软件在线升级的方法、装置及系统 | |
US7000228B2 (en) | Online upgrade of container-based software components | |
CN110913015B (zh) | 一种云手机app的分布式快捷安装方法、系统及介质 | |
CN109857423B (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
CN104052818A (zh) | 一种移动终端的版本升级方法及装置 | |
CN108874426B (zh) | 一种应用程序更新方法、装置及可读存储介质 | |
CN112350873B (zh) | 应用服务信息处理方法、应用服务调用方法、装置及系统 | |
CN105302563A (zh) | 移动应用服务的插件化方法及系统 | |
CN110062041B (zh) | 一种基于区块链的iot设备变更的方法及装置 | |
CN105700918A (zh) | 一种系统升级方法及装置 | |
CN108874427B (zh) | 一种更新进度获取方法、装置及可读存储介质 | |
CN111064626A (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN111221547B (zh) | 客户端更新进度监控方法、存储介质、电子设备及系统 | |
CN109634641A (zh) | 一种应用程序更新方法、装置、电子设备及介质 | |
CN113630443A (zh) | 服务管理方法、装置、服务器及介质 | |
CN112597134A (zh) | 分布式配置中心的配置方法、装置、电子设备和介质 | |
CN116755788A (zh) | 一种线上规则修改方法、装置、设备及存储介质 | |
CN112084254A (zh) | 一种数据同步方法和系统 | |
CN115729590A (zh) | 服务部署方法、装置、设备和计算机可读存储介质 | |
CN110389791B (zh) | 组件调度方法、装置、设备及存储介质 | |
CN114115943A (zh) | 一种支持断点续传的版本更新方法、系统、介质及设备 | |
CN104348646A (zh) | 配置数据处理方法、装置及系统 | |
CN111538514A (zh) | 企业应用的更新方法、装置、存储介质及电子设备 | |
CN108572832B (zh) | 应用版本动态更新的方法及其系统 | |
CN112860300A (zh) | 分布式sdk热更新处理方法、应用服务器集群 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230808 Address after: 322000 No. 369 Chengxin Avenue, Futian Street, Yiwu City, Jinhua City, Zhejiang Province (self declared) Applicant after: Yiwu Construction Investment Group Co.,Ltd. Address before: 430000 Wuhan Donghu Development Zone, Wuhan, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Applicant before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |