CN117270917A - 一种软件升级方法及电子设备 - Google Patents
一种软件升级方法及电子设备 Download PDFInfo
- Publication number
- CN117270917A CN117270917A CN202311563973.1A CN202311563973A CN117270917A CN 117270917 A CN117270917 A CN 117270917A CN 202311563973 A CN202311563973 A CN 202311563973A CN 117270917 A CN117270917 A CN 117270917A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- terminal equipment
- group
- router
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000004044 response Effects 0.000 claims abstract description 38
- 230000015654 memory Effects 0.000 claims description 50
- 230000005540 biological transmission Effects 0.000 claims description 44
- 238000004891 communication Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 17
- 238000004519 manufacturing process Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 11
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000006378 damage Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 101100288236 Arabidopsis thaliana KRP4 gene Proteins 0.000 description 3
- 101100433979 Bos taurus TNK2 gene Proteins 0.000 description 3
- 101100385394 Zea mays ACK2 gene Proteins 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 108700026140 MAC combination Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开一种软件升级方法及电子设备,该方法包括:终端设备向服务器发送第一请求,第一请求用于请求升级包;升级包用于对终端设备的软件进行升级,升级包包括N组数据,N为大于1的整数;终端设备通过用户数据报协议UDP接收来自服务器的第i组数据,第i组数据为N组数据中的一组数据,i不大于N;终端设备通过TCP连接接收来自服务器的第一握手请求报文;第一握手请求报文用于请求第i组数据的接收结果;终端设备通过TCP连接向服务器发送第一握手响应报文,第一握手响应报文包括用于指示第i组数据接收成功的接收结果;终端设备基于升级包对软件进行升级。该方法可以便捷高效的对终端设备的软件进行升级。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种软件升级方法及电子设备。
背景技术
随着终端技术的发展和成本的降低,移动终端在人们的生活中已经越来越普及。终端设备中可以安装各种各样的软件,其中,最基本也最为重要的基础性***软件是操作***。终端设备在安装操作***的情况下,才能被用户使用。
通常情况下,终端设备在出厂前会由终端厂商安装并升级操作***等软件。目前,终端厂商往往采用有线传输的方式对终端设备进行软件升级,具体包括:终端设备通过数据线连接服务器以从服务器获取升级包,其中,需要用到夹具和机柜等设备进行连接固定等,通信链路复杂;另外,在终端设备的端口进行数据线插拔容易对终端设备的外观造成损伤。
目前,如何便捷高效的对终端设备的软件进行升级是目前亟需解决的问题。
发明内容
本申请提供一种软件升级方法及电子设备,该方法可以便捷高效的对终端设备的软件进行升级。
第一方面,本申请实施例提供了一种软件升级方法,该方法包括:终端设备向服务器发送第一请求,第一请求用于请求升级包;升级包用于对终端设备的软件进行升级,升级包包括N组数据,N为大于1的整数;终端设备与服务器建立传输控制协议TCP连接;终端设备通过用户数据报协议UDP接收来自服务器的第i组数据,第i组数据为N组数据中的一组数据,i不大于N;终端设备通过TCP连接接收来自服务器的第一握手请求报文;第一握手请求报文用于请求第i组数据的接收结果;终端设备通过TCP连接向服务器发送第一握手响应报文,第一握手响应报文包括第i组数据的接收结果,第i组数据的接收结果用于指示接收成功;终端设备基于升级包对软件进行升级。
本申请实施例中,服务器可以通过用户数据报协议UDP(即组播的方式)向至少一个终端设备发送数据,并且通过TCP连接确定终端设备接收数据的情况。由于UDP协议与TCP协议相比,UDP协议是不可靠的但传输效率更高,而TCP可以保证数据安全,是可靠的。该方法中,通过TCP 与UDP相结合组播协议,将待传输数据(即上述升级包)进行分报编组 后以UDP协议进行广播发放,同时将服务器与各终端设备建立一对一的TCP连接。进而,该方法可以利用TCP的协议对分发的数据包进行确定(Acknowledge character,ACK)校验及重传交互,从而实现可靠的广播传输。因此,该方法可以保证数据传输的可靠,提高数据传输的效率,从而便捷高效的对终端设备的软件进行升级。
结合第一方面,在一种可能的实现方式中,软件为操作***软件。
本申请实施例中,由于在终端设备出厂前需要对终端设备中的操作***软件(也可以简称操作***)进行升级,目前往往采用有线传输操作***升级包的方法,容易造成终端设备的外观损失且升级效率低下。该方法通过TCP 与UDP相结合组播协议,无线网络的数据传输能力,替代原有的有线传输方式,由于全程无USB端口插拔,避免了数据线传输过程中可能发生的异常中断风险,不需要占用大量的计算机资源和数据线;可以避免有线传输带来的影响,如终端设备的端口插拔造成的外观损伤,减少了资源消耗和品质风险,可以提高软件升级的效率;可以保证数据传输的可靠,提高数据传输的效率,从而便捷高效的对终端设备的软件进行升级。
本申请提供的无线传输的方式可以应用于产线生产中的其他整机有线连接测试工位,以无线的方式的代替有线连接,减少硬件资源的投资和降低生产过程中产生的三伤不良。另外,由于本申请不需要USB连接手机,不需要占用较多的计算机及数据线资源。
结合第一方面,在一种可能的实现方式中,在终端设备向服务器发送第一请求之前,该方法还包括:终端设备通过近场通讯NFC获取第一信息,第一信息用于指示获取升级包。
本申请实施例中,可以通过近场通讯NFC触发终端设备获取软件的升级包。该方法通过NFC触发升级稳定性更高。
结合第一方面,在一种可能的实现方式中,终端设备通过近场通讯NFC获取第一信息,包括:终端设备在位于载具上时,通过NFC获取NFC标签包含的第一信息,NFC标签设置于载具上,载具用于承载多个设备。
本申请实施例中,可以通过载具承载多个终端设备,载具上包括NFC标签,可以通过NFC标签包含的第一信息触发多个终端设备获取软件的升级包。该方法可以适用于批量终端设备进行软件升级的场景,可以提高批量终端设备软件升级的效率。
结合第一方面,在一种可能的实现方式中,第一信息包括第一路由器的路由器信息和指示启动第一应用的信息,该方法还包括:终端设备响应于第一信息,启动第一应用;终端设备通过第一应用连接第一路由器;终端设备向服务器发送第一请求包括:终端设备通过第一路由器向服务器发送第一请求。
本申请实施例通过载具承载一个或多个终端设备,载具上包括NFC标签,可以通过NFC标签包含的第一信息触发一个或多个终端设备连接指定路由器(即上述第一路由器),从而获取软件的升级包。该方法可以采用NFC触发WiFi自动连接生产路由器(即上述第一路由器),识别稳定,误测率低,并且可以获取特定信息使得可拓展性性强,可以便捷高效的触发终端设备连接网络以获取升级包,可以提高软件升级的效率。
结合第一方面,在一种可能的实现方式中,终端设备接收的第i组数据包括至少一帧聚合数据帧,至少一帧聚合数据帧是由第一路由器将第i组数据中的多帧数据帧聚合得到的,终端设备通过第一路由器与服务器通信。
本申请实施例通过载具承载一个或多个终端设备,载具上包括NFC标签,可以通过NFC标签包含的第一信息触发一个或多个终端设备连接指定路由器(即上述第一路由器),从而获取软件的升级包。其中,第一路由器可以对多帧数据帧聚合得到聚合数据帧,进而向终端设备发送聚合数据帧。该方法可以减少路由器和终端设备进行数据传输的数据量,减少路由器和终端设备进行数据传输的带宽,提高传输速率,从而提高软件升级的效率。结合第一方面,在一种可能的实现方式中,N组数据包括第j组数据,j不大于N;该方法还包括:
终端设备通过TCP连接接收来自服务器的第二握手请求报文;第二握手请求报文用于请求第j组数据的接收结果;
终端设备通过TCP连接向服务器发送第二握手响应报文,第二握手响应报文包括第j组数据的接收结果,第j组数据的接收结果用于指示接收失败;
终端设备在发送第二握手响应报文后,接收来自服务器的第j组数据。
本申请实施例可以利用TCP的协议对分发的数据包进行ACK校验及重传交互,从而实现可靠的广播传输。因此,该方法可以保证数据传输的可靠,提高数据传输的效率,从而便捷高效的对终端设备的软件进行升级。
第二方面,本申请实施例提供了一种软件升级方法,该方法包括:服务器接收终端设备发送的第一请求,第一请求用于请求升级包;升级包用于对终端设备的软件进行升级,升级包包括N组数据,N为大于1的整数;服务器通过用户数据报协议UDP向终端设备发送第i组数据,第i组数据为N组数据中的一组数据,i不大于N;服务器与终端设备建立传输控制协议TCP连接;服务器通过TCP连接向终端设备发送第一握手请求报文;第一握手请求报文用于请求第i组数据的接收结果;服务器通过TCP连接接收来自终端设备的第一握手响应报文,第一握手响应报文包括第i组数据的接收结果,第i组数据的接收结果用于指示接收成功。
结合第二方面,在一种可能的实现方式中,软件为操作***软件。
结合第二方面,在一种可能的实现方式中,N组数据包括第j组数据,j不大于N;该方法还包括:服务器通过TCP连接向终端设备发送第二握手请求报文;第二握手请求报文用于请求第j组数据的接收结果;服务器通过TCP连接接收来自终端设备的第二握手响应报文,第二握手响应报文包括第j组数据的接收结果,第j组数据的接收结果用于指示接收失败;服务器在接收第二握手响应报文后,向终端设备发送第j组数据。
结合第二方面,在一种可能的实现方式中,终端设备接收的第i组数据包括至少一帧聚合数据帧,至少一帧聚合数据帧是由第一路由器将第i组数据中的多帧数据帧聚合得到的,第一路由器为与终端设备连接的路由器,终端设备通过第一路由器与服务器通信。
第三方面,本申请提供一种功能模块,所述模块用于执行上述任一方面或任一方面的任意可能的实现方式所示的方法。
第四方面,本申请实施例提供一种电子设备,所述电子设备包括:一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行上述任一方面或任一方面的任意可能的实现方式中的方法。
第五方面,本申请实施例提供一种芯片***,所述芯片***应用于电子设备,所述芯片***包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行上述任一方面或任一方面的任意可能的实现方式所示的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,当所述指令在电子设备上运行时,使得所述电子设备执行上述任一方面或任一方面的任意可能的实现方式所示的方法。
可以理解的,上述第三方面提供的功能模块、第四方面提供的电子设备、第五方面提供的芯片***和第六方面提供的计算机存储介质均用于执行本申请实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
图1是本申请实施例提供的一种通信***的网络架构示意图;
图2是本申请实施例提供的另一种通信***的网络架构示意图;
图3是本申请实施例提供的一种软件升级方法的方法流程图;
图4A是本申请实施例提供的一种承载终端设备的载具示意图;
图4B是本申请实施例提供的一种启动第一应用的示意图;
图4C是本申请实施例提供的一种显示弹窗的用户界面图;
图4D是本申请实施例提供的一种第一终端和服务器之间进行数据传输的示意图;
图5A是本申请实施例提供的一种电子设备的硬件结构示意图;
图5B是本申请实施例提供的一种电子设备的软件架构示意图;
图6是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地描述。
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
在本申请实施例中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本申请实施例所描述的实施例可以与其它实施例相结合。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
目前,终端设备在出厂前会由终端厂商安装并升级操作***等软件。终端厂商往往采用有线传输的方式对终端设备进行软件升级,具体包括:终端设备通过数据线连接服务器以从服务器获取升级包,其中,需要用到夹具和机柜等设备进行连接固定等,通信链路复杂,通信类问题多,操作复杂,线体占用大。另外,有线传输会与终端设备有硬接触,例如终端设备的USB端口进行插拔容易造成终端设备外观三伤多。
有鉴于此,本申请实施例提供了一种软件升级方法,该方法通过NFC与WIFI连接方式,自动触发终端通过无线网络访问指定路径获取升级软件包并通过无线传输将软件版本下载至批量终端内进行升级。
通过上述方法,一方面可以利用无线网络的数据传输能力,替代原有的有线传输方式,由于全程无USB端口插拔,避免了数据线传输过程中可能发生的异常中断风险,不需要占用大量的计算机资源和数据线,减少了资源消耗和品质风险;可节省产线的硬件机柜资源与夹具及产线的操作工时,从而达成节省制造成本的效果。另一方面,由于通过无线网络访问指定路径,避免了必须通过数据线接入计算机进行***升级的操作,减少了操作步骤,提高了操作便捷性,提高了下载速度且提高了终端设备的品质良率,增加了可靠性。
为了更好地理解本申请提出的一种软件升级方法及相关装置,下面先对本申请实施例应用的网络架构进行描述。
请参见图1,图1是本申请实施例提供的一种通信***的网络架构示意图。如图1所示,该网络架构可以包括终端设备100和服务器200。
其中,服务器200用于向终端设备100提供升级包;终端设备100用于接收来自服务器200的升级包对软件进行升级。
可选地,终端设备100可以为一个终端设备,也可以包括多个终端设备(详见图2);服务器200(也可以称为服务端)可以为一个设备;也可以为服务器群,如包括工控机和版本服务器(详见图2)。
请参见图2,图2是本申请实施例提供的另一种通信***的网络架构示意图。
如图2所示,该网络架构可以包括工控机、版本服务器、第一路由器和多个终端设备。其中,版本服务器用于向工控机提供升级包;工控机用于向多个终端设备分发升级包;第一路由器为与终端设备连接的路由器,终端设备通过第一路由器与服务器通信。那么,终端设备可以通过路由器接收来自版本服务器的升级包,进而,基于升级包对软件进行升级。
可选地,该网络架构还可以载具,其中,载具用于承载NFC标签,该NFC标签用于触发终端设备连接路由器并执行软件升级流程。
上述终端设备100可以为用户设备(user equipment,UE),例如可以是手机、平板电脑、笔记本电脑、台式电脑、智能电视、可穿戴设备(如智能手表)、车载设备、智能家用设备(如智能音箱)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等电子设备。终端设备100的示例性实施例包括但不限于搭载iOS®、Android®、Harmony®、Windows®、Linux或者其它操作***的便携式电子设备。上述终端设备100也可为其它便携式电子设备,诸如膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述终端设备100也可以不是便携式电子设备,而是台式计算机等等。
下面示例性的以生产环境中对批量终端设备进行操作***升级的场景为例,对本申请实施例提供的软件升级方法。
下面通过图3,介绍本申请实施例提供的一种软件升级方法。本实施例中由终端设备执行的功能也可以由终端设备中的模块(例如,芯片)来执行,本申请中由服务器执行的功能也可以由服务器中的模块(例如,芯片)来执行。
该方法包括以下部分或全部步骤:
S301:多个终端设备在位于载具上时,分别通过NFC获取载具上的NFC标签包含的第一信息,第一信息包括第一路由器的路由器信息和指示启动第一应用的信息。
其中,第一信息用于指示获取操作***的升级包,NFC标签设置与载具上,载具用于承载多个设备。
图4A示例性示出了一种承载终端设备的载具,该载具包括承载部分和NFC标签,图4A示例性示出了该载具上包括4个NFC标签,以及终端设备可以放置的4个位置。例如,该载具可以用于承载4个折叠机,4个折叠机在位于载具上时,分别通过NFC获取载具上的NFC标签包含的第一信息,第一信息包括第一路由器的路由器信息和指示启动第一应用的信息。应理解,该载具仅为一种示例,不应造成对本申请的限定,在本申请的另一些实施例中,上述载具中终端设备放置的位置大小可以根据终端设备的具体机型进行更改,本申请对此不作限定。
S302:多个终端设备分别响应于指示启动第一应用的信息,启动第一应用。
图4B示例性示出了一种启动第一应用的示意图。如图4B所示,终端设备可以获取NFC卡信息(即上述NFC标签包含的第一信息);基于NFC卡信息判断NFC信息特性,其中,NFC卡信息可以包括NFC标签信息;若终端设备判断NFC标签信息为生产标签,则终端设备可以判断是否拉起第一应用;若该生产标签为指示操作***升级的标签(即上述指示启动第一应用的信息),则终端设备可以拉起(即启动)第一应用;若该生产标签为其他生产需求的生成标签,则终端设备可以执行标签转发询问,例如,显示如图4C所示的界面,该界面包括弹窗401,该弹窗用于询问是否启动该标签对应的应用。示例性的,该第一应用可以称为eAssist测试平台。
应理解,上述载具上的NFC标签可以为上述生产标签中的一种,为一种自定义标签格式。
S303:多个终端设备基于第一路由器的路由器信息,分别通过第一应用连接第一路由器,多个终端设备分别通过第一路由器与服务器通信。
其中,第一路由器的路由器信息为第一路由器的标识信息,如服务集标识(Service Set Identifier,ssid)ssid。
在一些实施例中,第一应用启动后可以获取上述第一路由器的路由器信息,调用WiFi应用连接第一路由器。
示例性的,在终端设备出厂前的生产环境中,可以通过上述步骤实现生产wifi环境的自动连接。具体可以包括:①载具配备NFC标签,NFC标签包含第一路由器的路由器信息和指示启动第一应用的信息。②终端设备放置在载具上后通过NFC触发并获取到对应信息后自动启动APK(即上述第一应用)连接WiFi。 ③终端设备通过WiFi连接自动下载软件版本(即上述升级包)并完成升级。
可以理解的,目前的NFC触发时均会显示弹窗(如图4C所示),本申请实施例可以在感知上述NFC标签时自动启动第一应用以实现连接WiFi和软件升级,而需要不显示弹窗等待用户确认。
S304:多个终端设备分别通过第一路由器向服务器发送第一请求,第一请求用于请求操作***的升级包。
相应的,服务器接收来自多个终端设备的多个第一请求。
其中,操作***的升级包用于对终端设备的操作***进行升级。
可选地,上述第一请求可以包括终端设备的标识,如序号号(serial number,SN)和IP地址。
S305:多个终端设备分别与服务器建立传输控制协议TCP连接。
在一些实施例中,服务器在接收到来自终端设备的第一请求后,可以与终端设备建立TCP连接。
本申请实施例对建立TCP连接的具体实现不作限定。
S306:服务器通过用户数据报协议UDP,向多个终端设备组播N组数据,操作***的升级包包括N组数据,N为大于1的整数。
在一些实施例中,服务器在预设时间段内接收到来自多个终端设备的第一请求,则服务器可以对升级包进行分包编组,得到N组数据;进而,向多个终端设备组播N组数据。示例性的,服务器在第一时刻接收到来自第一终端的第一请求,第一时刻和第二时刻之间间隔预设时间段,则服务器可以将第一时刻至第二时刻之间向服务器发送第一请求的终端设备确定为上述多个终端设备,即服务器向第一时刻至第二时刻之间向服务器组播N组数据。
在一些实施例中,第一路由器可以将N组数据中每组数据中的多帧数据帧进行聚合,得到每一组数据对应的多帧聚合数据帧;第一路由器在接收到来自服务器的N组数据后,可以向终端设备发送每一组数据对应的多帧聚合数据帧。应理解,实际应用场景下UDP存在传输速率低的问题,原因是广播帧不聚合,每个传输TX帧都需要重新做空闲信道评估(ClearChannelAssessment,CCA)CCA ,空口使用效率低。本申请实施例通过修改协议栈,在UDP传输时通过使用聚合,并调整聚合MAC协议数据单元(A-medium access control (MAC)protocol data unit,A-MPDU)的聚合度与密度(density),可以达到传输速率40MB/s。该方法可以减少数据发送的时间,提高数据发送的效率。
其中,每一组数据中的数据帧可以为MPDU(可以称为子帧),MPDU中每一个成分帧都会有一个802.11帧头。因此MPDU在每一个成分帧上都加上了开销。本申请实施例中通过广播帧开启AMPDU,可将多个子帧(即每组数据中的多帧数据帧)进行聚合,得到A-MPDU子帧。每个A-MPDU子帧由MPDU Delimiter (MPDU分界符)和MPDU实体组成。对于一个A-MPDU,除了最后一个子帧外,其余子帧都会有0-3个字节的填充字段,使子帧长度变为4字节的整数倍。聚合后的数据帧减少了发送每个802.11报文所需的PLCP Preamble,PLCP Header,从而提高***吞吐量。
可选地,上述第一路由器可以连接多个终端设备,为多个终端设备发送升级包。本申请实施例通过组播不需要使用屏蔽箱,AP(即第一路由器)一拖多可以节省AP与空间资源。
S307:服务器在组播每组数据后,通过TCP连接分别向多个终端设备发送该组数据对应的握手请求报文;握手请求报文用于请求该组数据的接收结果。
在一种实现中,服务器可以在发送一组数据后,通过TCP连接分别向多个终端设备发送该组数据对应的握手请求报文;握手请求报文用于请求该组数据的接收结果。
S308:多个终端设备在接收到每组数据的握手请求报文后,分别通过TCP连接向服务器发送握手响应报文,该握手响应报文包括该组数据的接收结果,该组数据的接收结果用于指示接收成功或者接收失败。
在一种实现中,终端设备在接收到每组数据的握手请求报文后检查是否已接收到该组数据,若已接收到上述该组数据,则向服务器发送用于指示接收成功的接收结果;若未接收到上述该组数据,则向服务器发送用于指示接收失败的接收结果。
在另一种实现中,终端设备在接收到每组数据的握手请求报文后检查是否已接收到该组数据,若已接收到上述该组数据,则向服务器发送用于指示接收成功的接收结果;若未接收到上述该组数据,可以等待预设时间,若预设时间后仍未接收到该组数据,则向服务器发送用于指示接收失败的接收结果;若预设时间后接收到该组数据,则向服务器发送用于指示接收成功的接收结果。该方法可以在网络延迟导致数据传输较慢的情况下节省传输资源。
S309:服务器基于来自多个终端设备的N组数据中每组数据的握手响应报文,确定每组数据的接收情况。
在一些实施例中,服务器在接收一组数据的握手响应报文后,保存该组数据的接收情况。
可选地,每组数据的接收情况可以包括未成功接收到该组数据的终端设备的标识。
示例性的,该组数据的接收情况可以为来自所有终端设备该组数据的握手请求报文,也可以为仅为未成功接收到该组数据的终端设备的握手响应报文;还可以为未成功接收到该组数据的终端设备的标识。
可选地,若来自多个终端设备的某组数据的握手响应报文均指示接收成功,则服务器也可以记录该组数据的接收情况为全部成功。例如,通过预设标识对该组数据进行标记,预设标识用于指示该组数据的接收情况为全部成功。
可选地,假设终端设备向服务器发送指示某组数据接收失败的握手响应报文后,在未接收到N组数据之前接收到该组数据,那么,终端设备可以向服务器发送指示该组数据接收成功的握手响应报文;进而,服务器可以更新该组数据的接收情况。
S310:服务器基于每组数据的接收情况,组播N组数据中部分或全部数据。
在一些实施例中,服务器可以在依次组播N组数据后,再基于N组数据的接收情况,对未接收到数据的终端设备进行第二轮组播。该方法中,服务器不在确定终端设备未接收到数据时立即重发,可以避免因个别终端设备未接收到某组数据影响多个终端设备的软件升级。
示例性的,服务器将升级包进行服务器可以对升级包进行分包编组,得到N组数据;在所有终端设备与服务器建立连接后,通过UDP进行数据分发;所有终端设备与服务器同步建立TCP连接,在每组数据发送完成后双方进行握手;分发过程中产生丢包不立即进行重发,服务器可以记录丢包信息和对应终端设备的信息;等N组数据传输完成后,接收完全的终端设备退出数据接收;进而,服务器再对记录的丢包信息对应的数据进行循环重播,各个未完成的终端设备(即未接收到N组数据的终端设备)在取到对应的丢包后再退出数据接收。
可选地,若来自多个终端设备的某组数据的握手响应报文均指示接收成功,则第二轮组播中服务器可以不组播该组数据。
其中,关于第二轮组播的具体过程可以参见上述步骤S306至S310的过程。
在一种实现中,在进行第二轮组播后,若仍有终端设备未接收到部分数据,则服务器可以进行第三轮组播。
可选地,若m轮组播后,若仍有终端设备未接收到部分数据,服务器和/或终端设备可以显示该终端设备的接收情况。其中,m为大于2的整数,例如m为3。该方法中,工作人员可以查看终端设备的接收情况对终端设备进行检查等处理,可以避免部分终端设备出现故障等原因导致数据传输持续进行导致整体软件升级时长过长。
S311:多个终端设备分别基于接收到的升级包,对操作***进行升级。
在一些实施例中,终端设备在接收到N组数据后,基于N组数据,对操作***进行升级。
下面示例性的通过图4D对步骤S306至步骤S308的过程进行介绍。假设上述多个终端包括第一终端,图4D示例性示出了第一终端和服务器之间进行数据传输的示意图。图4D示例性示出了N组数据中的三组数据,分别为Data1、Data2和Data3;以及示例性示出了Data1对应的握手请求报文Reguest1,Data1对应的握手响应报文ACK1;Data2对应的握手请求报文Reguest2,Data2对应的握手响应报文ACK2;Data3对应的握手请求报文Reguest3,Data3对应的握手响应报文ACK3。
如图4D所示,服务器可以通过UDP向第一终端发送Data1,在发送Data1后通过TCP连接向第一终端发送Reguest1;第一终端在接收到Reguest1后,可以向服务器发送ACK1,ACK1用于指示第一终端是否接收到Data1。进而,服务器在接收到上述ACK1,服务器可以通过UDP向第一终端发送Data2,在发送Data2后通过TCP连接向第一终端发送Reguest2;第一终端在接收到Reguest2后,可以向服务器发送ACK2,ACK2用于指示第一终端是否接收到Data2。进而,服务器在接收到上述ACK1,服务器可以通过UDP向第一终端发送Data3,在发送Data3后通过TCP连接向第一终端发送Reguest3;第一终端在接收到Reguest3后,可以向服务器发送ACK3,ACK3用于指示第一终端是否接收到Data3。
可选的,若ACK1用于指示第一终端没有接收到Data1,服务器可以存储该ACK1;或者记录第一终端未接收到Data1。服务器可以在组播N组数据后,再基于存储的ACK1或记录第一终端未接收到Data1的信息,向第一终端发送Data1。可以理解的,若服务器在接收到第一终端未接收到某组数据时马上对第一终端进行重发,会影响其他终端接收下一组数据,因此,该方法通过在组播N组数据后在对未接收到某组数据的终端进行重发,可以避免影响多个终端设备中其他终端设备的数据接收,有利于提高整体数据传输速率。
本申请实施例通过组播方式,可以解决无线传输场景无法AP与终端设备一对多的问题。由于UDP协议 分发信息的一个理想协议,但是UDP协议是无连接不可靠的,所以目前未在该场景得以应用。而,本申请通过TCP 与UDP相结合组播协议,将待传输数据进行分报编组 后以UDP协议进行广播发放,同时将AP与各终端设备建立一对一的TCP连接。利用TCP的协议对分发的数据包进行ACK校验及重传交互,从而实现可靠的广播传输。
与上述实施例相对应,本申请还提供了一种终端设备和服务器。
首先,示例性的通过图5A和图5B的电子设备的形态及软硬件架构介绍本申请实施例中提供的终端设备。
电子设备可以是搭载iOS®、Android®、Microsoft®或者其它操作***的便携式终端设备,例如手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence, AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,等等。
图5A示例性示出了本申请实施例的电子设备的硬件结构。如图5A所示,电子设备可以包括:处理器110,外部存储器接口120,内部存储器126,摄像头130,显示屏140,音频模块150,扬声器150A,受话器150B,麦克风150C,耳机接口150D,传感器模块160。其中传感器模块160可以包括压力传感器160A,距离传感器160F,接近光传感器160G,触摸传感器160K,环境光传感器160L等。
其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
内部存储器126可以包括一个或多个随机存取存储器(random access memory,RAM )和一个或多个非易失性存储器(non-volatile memory, NVM)。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory, DRAM)、同步动态随机存储器(synchronous dynamic random access memory, SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory, DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5 SDRAM)等;
非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell, TLC)、四阶储存单元(quad-level cell, QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universal flash storage,UFS)、嵌入式多媒体存储卡(embeddedmultimediaCard,eMMC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作***或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备通过GPU,显示屏140,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏140和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏140用于显示图像,视频等。显示屏140包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。显示屏面板还可以采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),miniled,microLed,micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等制造。在一些实施例中,电子设备可以包括1个或N个显示屏140,N为大于1的正整数。
电子设备可以通过ISP,摄像头130,视频编解码器,GPU,显示屏140以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头130反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度等进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头130中。
摄像头130用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头130,N为大于1的正整数。
在本申请实施例中,摄像头130可以是长焦摄像头或者主摄像头、广角摄像头等等。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network ,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
电子设备可以通过音频模块150,扬声器150A,受话器150B,麦克风150C,耳机接口150D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块150用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块150还可以用于对音频信号编码和解码。在一些实施例中,音频模块150可以设置于处理器110中,或将音频模块150的部分功能模块设置于处理器110中。
扬声器150A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器150A收听音乐,或收听免提通话。
受话器150B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器150B靠近人耳接听语音。
麦克风150C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风150C发声,将声音信号输入到麦克风150C。电子设备可以设置至少一个麦克风150C。在另一些实施例中,电子设备可以设置两个麦克风150C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风150C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口150D用于连接有线耳机。耳机接口150D可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。例如,电子设备还可以包括按键,马达,指示器,以及用户标识模块(subscriber identificationmodule,SIM)卡接口等。又例如,传感器模块还可以包括:陀螺仪传感器,气压传感器,磁传感器,加速度传感器,指纹传感器,温度传感器,骨传导传感器等等。
图5B示例性示出了本申请实施例的电子设备的软件架构。
如图5B所示,分层架构将***分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将***分为四层,从上至下分别为应用程序层,应用程序框架层(framework)、***层和内核层。其中:
应用程序层(application)可以包括一系列应用程序包。例如,应用程序包可以包括第一应用、WiFi应用和NFC应用等应用程序。
本申请实施例中,电子设备可以通过NFC应用获取NFC标签中的NFC信息,如上述第一信息,第一信息包括第一路由器的路由器信息和指示启动第一应用的信息;进而,电子设备可以基于指示启动第一应用的信息拉起第一应用;电子设备可以通过第一应用基于第一路由器的路由器信息,调用WiFi应用连接第一路由器。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图5B所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,资源管理器等。其中,窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
运行时(Runtime)包括核心库和虚拟机。Runtime负责***的调度和管理。核心库包含两部分:一部分是编程语言(例如,jave语言)需要调用的功能函数,另一部分是***的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的编程文件(例如,jave文件)执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。其中,表面管理器用于对显示子***进行管理,并且为多个应用程序提供了二维(2-Dimensional,2D)和三维(3-Dimensional,3D)图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现3D图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
该软件架构还可以包括图5B中未示出的硬件抽象层(hardware abstract layer,HAL),硬件抽象层是位于应用程序框架层以及内核层之间的接口层,为操作***提供虚拟硬件平台。
内核层为硬件和软件之间的层。内核层包括各种硬件的驱动,如显示驱动、摄像头驱动、音频驱动和传感器驱动等。内核层还可以包括数字信号处理器驱动(未示出)以及图像处理器驱动(未示出)等。其中,摄像头驱动用于驱动摄像头模组中的一个或多个摄像头的图像传感器采集图像以及驱动图像信号处理器对图像进行预处理。数字信号处理器驱动用于驱动数字信号处理器处理图像。图像处理器驱动用于驱动图形处理器处理图像。
参见图6,为本申请实施例提供的一种服务器200的结构示意图。如图6所示,该服务器200可以包括:处理器2001、存储器2002及通信单元2003。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图6中示出的服务器200的结构并不构成对本申请实施例的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图6示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,所述通信单元2003,用于建立通信信道,从而使所述存储设备可以与其它设备进行通信。接收其他设备发是的用户数据或者向其他设备发送用户数据。
所述处理器2001,为存储设备的控制中心,利用各种接口和线路连接整个服务器200的各个部分,通过运行或执行存储在存储器2002内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行服务器200的各种功能和/或处理数据。所述处理器可以由集成电路(integrated circuit,IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器2001可以仅包括中央处理器(central processing unit,CPU)。在本申请实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
所述存储器2002,用于存储处理器2001的执行指令,存储器2002可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
当存储器2002中的执行指令由处理器2001执行时,使得服务器200能够执行上述方法实施例中的部分或全部步骤。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
具体实现中,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述方法实施例中的部分或全部步骤。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种软件升级方法,其特征在于,所述方法包括:
终端设备向服务器发送第一请求,所述第一请求用于请求升级包;所述升级包用于对所述终端设备的软件进行升级,所述升级包包括N组数据,所述N为大于1的整数;
所述终端设备与所述服务器建立传输控制协议TCP连接;
所述终端设备通过用户数据报协议UDP接收来自所述服务器的第i组数据,所述第i组数据为所述N组数据中的一组数据,所述i不大于所述N;
所述终端设备通过所述TCP连接接收来自所述服务器的第一握手请求报文;所述第一握手请求报文用于请求所述第i组数据的接收结果;
所述终端设备通过所述TCP连接向所述服务器发送第一握手响应报文,所述第一握手响应报文包括所述第i组数据的接收结果,所述第i组数据的接收结果用于指示接收成功;
所述终端设备基于所述升级包对所述软件进行升级。
2.根据权利要求1所述的方法,其特征在于,所述软件为操作***软件。
3.根据权利要求1所述的方法,其特征在于,在所述终端设备向服务器发送第一请求之前,所述方法还包括:
所述终端设备通过近场通讯NFC获取第一信息,所述第一信息用于指示获取所述升级包。
4.根据权利要求3所述的方法,其特征在于,所述终端设备通过近场通讯NFC获取第一信息,包括:
所述终端设备在位于载具上时,通过所述NFC获取NFC标签包含的所述第一信息,所述NFC标签设置于所述载具上,所述载具用于承载多个设备。
5.根据权利要求3所述的方法,其特征在于,所述第一信息包括第一路由器的路由器信息和指示启动第一应用的信息,所述方法还包括:
所述终端设备响应于所述第一信息,启动所述第一应用;
所述终端设备通过所述第一应用连接所述第一路由器;
所述终端设备向服务器发送第一请求包括:所述终端设备通过所述第一路由器向所述服务器发送所述第一请求。
6.根据权利要求5所述的方法,其特征在于,所述终端设备接收的所述第i组数据包括至少一帧聚合数据帧,所述至少一帧聚合数据帧是由所述第一路由器将所述第i组数据中的多帧数据帧聚合得到的,所述终端设备通过所述第一路由器与所述服务器通信。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述N组数据包括第j组数据,所述j不大于所述N;所述方法还包括:
所述终端设备通过所述TCP连接接收来自所述服务器的第二握手请求报文;所述第二握手请求报文用于请求所述第j组数据的接收结果;
所述终端设备通过所述TCP连接向所述服务器发送第二握手响应报文,所述第二握手响应报文包括所述第j组数据的接收结果,所述第j组数据的接收结果用于指示接收失败;
所述终端设备在发送所述第二握手响应报文后,接收来自所述服务器的所述第j组数据。
8.一种软件升级方法,其特征在于,所述方法包括:
服务器接收终端设备发送的第一请求,所述第一请求用于请求升级包;所述升级包用于对所述终端设备的软件进行升级,所述升级包包括N组数据,所述N为大于1的整数;
所述服务器通过用户数据报协议UDP向所述终端设备发送第i组数据,所述第i组数据为所述N组数据中的一组数据,所述i不大于所述N;
所述服务器与所述终端设备建立传输控制协议TCP连接;
所述服务器通过所述TCP连接向所述终端设备发送第一握手请求报文;所述第一握手请求报文用于请求所述第i组数据的接收结果;
所述服务器通过所述TCP连接接收来自所述终端设备的第一握手响应报文,所述第一握手响应报文包括所述第i组数据的接收结果,所述第i组数据的接收结果用于指示接收成功。
9.根据权利要求8所述的方法,其特征在于,所述软件为操作***软件。
10.根据权利要求8所述的方法,其特征在于,所述N组数据包括第j组数据,所述j不大于所述N;所述方法还包括:
所述服务器通过所述TCP连接向所述终端设备发送第二握手请求报文;所述第二握手请求报文用于请求所述第j组数据的接收结果;
所述服务器通过所述TCP连接接收来自所述终端设备的第二握手响应报文,所述第二握手响应报文包括所述第j组数据的接收结果,所述第j组数据的接收结果用于指示接收失败;
所述服务器在接收所述第二握手响应报文后,向所述终端设备发送所述第j组数据。
11.根据权利要求8-10任一项所述的方法,其特征在于,所述终端设备接收的所述第i组数据包括至少一帧聚合数据帧,所述至少一帧聚合数据帧是由第一路由器将所述第i组数据中的多帧数据帧聚合得到的,所述第一路由器为与所述终端设备连接的路由器,所述终端设备通过所述第一路由器与所述服务器通信。
12.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器和存储器;
所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311563973.1A CN117270917B (zh) | 2023-11-22 | 2023-11-22 | 一种软件升级方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311563973.1A CN117270917B (zh) | 2023-11-22 | 2023-11-22 | 一种软件升级方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117270917A true CN117270917A (zh) | 2023-12-22 |
CN117270917B CN117270917B (zh) | 2024-04-12 |
Family
ID=89208515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311563973.1A Active CN117270917B (zh) | 2023-11-22 | 2023-11-22 | 一种软件升级方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117270917B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101818977B1 (ko) * | 2017-06-27 | 2018-01-16 | 주식회사 인터엠 | 다수의 이기종 방송장비를 위한 소프트웨어 일괄 업그레이드 처리 방법 |
CN108632324A (zh) * | 2017-03-24 | 2018-10-09 | 深圳市帝迈生物技术有限公司 | 血液细胞分析仪的多仪器同步升级方法、***及ipu终端 |
CN210348467U (zh) * | 2019-10-22 | 2020-04-17 | 神经元信息技术(深圳)有限公司 | 一种能更新mcu软件的模块化设计结构 |
KR20200076775A (ko) * | 2018-12-19 | 2020-06-30 | 아토디자인 주식회사 | 유아용 테마 가구 시스템 |
CN112003732A (zh) * | 2020-07-27 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 大批量服务器中cpld固件更新的实现方法和*** |
CN114090033A (zh) * | 2021-09-30 | 2022-02-25 | 珠海荣邦智能科技有限公司 | Ota升级方法、装置、电子设备及可读介质 |
CN115348333A (zh) * | 2022-08-16 | 2022-11-15 | 南方电网电力科技股份有限公司 | 基于udp双端通信交互的数据传输方法、***及设备 |
-
2023
- 2023-11-22 CN CN202311563973.1A patent/CN117270917B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632324A (zh) * | 2017-03-24 | 2018-10-09 | 深圳市帝迈生物技术有限公司 | 血液细胞分析仪的多仪器同步升级方法、***及ipu终端 |
KR101818977B1 (ko) * | 2017-06-27 | 2018-01-16 | 주식회사 인터엠 | 다수의 이기종 방송장비를 위한 소프트웨어 일괄 업그레이드 처리 방법 |
KR20200076775A (ko) * | 2018-12-19 | 2020-06-30 | 아토디자인 주식회사 | 유아용 테마 가구 시스템 |
CN210348467U (zh) * | 2019-10-22 | 2020-04-17 | 神经元信息技术(深圳)有限公司 | 一种能更新mcu软件的模块化设计结构 |
CN112003732A (zh) * | 2020-07-27 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 大批量服务器中cpld固件更新的实现方法和*** |
CN114090033A (zh) * | 2021-09-30 | 2022-02-25 | 珠海荣邦智能科技有限公司 | Ota升级方法、装置、电子设备及可读介质 |
CN115348333A (zh) * | 2022-08-16 | 2022-11-15 | 南方电网电力科技股份有限公司 | 基于udp双端通信交互的数据传输方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117270917B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934352B2 (en) | Card rendering method and electronic device | |
CN109559270B (zh) | 一种图像处理方法及电子设备 | |
US20230021994A1 (en) | Cross-Device Content Projection Method and Electronic Device | |
CN115473957A (zh) | 一种图像处理方法和电子设备 | |
CN113961157B (zh) | 显示交互***、显示方法及设备 | |
WO2022179275A1 (zh) | 终端应用控制的方法、终端设备及芯片*** | |
WO2021179990A1 (zh) | 一种应用服务器的访问方法及终端 | |
CN110413420B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN116048933A (zh) | 一种流畅度检测方法 | |
WO2022143258A1 (zh) | 一种语音交互处理方法及相关装置 | |
CN117270917B (zh) | 一种软件升级方法及电子设备 | |
CN117130541B (zh) | 存储空间配置方法及相关设备 | |
WO2023273766A1 (zh) | 一种编译优化方法和装置 | |
WO2023179123A1 (zh) | 蓝牙音频播放方法、电子设备及存储介质 | |
WO2022111664A1 (zh) | 打补丁的方法、相关设备及*** | |
WO2023016059A1 (zh) | 数据传输控制方法及相关装置 | |
WO2022121988A1 (zh) | 显示同步的方法、电子设备以及可读存储介质 | |
WO2022033355A1 (zh) | 一种邮件处理方法及电子设备 | |
CN114489471B (zh) | 一种输入输出处理方法和电子设备 | |
WO2022184157A1 (zh) | 多路径聚合调度方法及电子设备 | |
WO2022262291A1 (zh) | 应用的图像数据调用方法、***、电子设备及存储介质 | |
CN116939559A (zh) | 蓝牙音频编码数据分发方法、电子设备及存储介质 | |
WO2023051116A1 (zh) | 分布式实现方法、***、电子设备及存储介质 | |
CN116684036B (zh) | 数据处理方法及相关装置 | |
WO2022228102A1 (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 |