CN111857609A - 一种上传云打印日志的方法、装置和计算机存储介质 - Google Patents
一种上传云打印日志的方法、装置和计算机存储介质 Download PDFInfo
- Publication number
- CN111857609A CN111857609A CN202010535585.2A CN202010535585A CN111857609A CN 111857609 A CN111857609 A CN 111857609A CN 202010535585 A CN202010535585 A CN 202010535585A CN 111857609 A CN111857609 A CN 111857609A
- Authority
- CN
- China
- Prior art keywords
- log data
- cloud
- printing
- data packet
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000007639 printing Methods 0.000 title claims description 203
- 230000015654 memory Effects 0.000 claims description 80
- 238000004891 communication Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- 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/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1234—Errors handling and recovery, e.g. reprinting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1287—Remote printer device, e.g. being remote from client or server via internet
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本申请公开一种上传云打印日志的方法、装置和计算机存储介质,云打印机将待上传的打印日志数据包切片为m片日志数据,m为大于等于2的整数;云打印机计算待上传的打印日志数据包的信息摘要算法MD5值;计算第n片日志数据的MD5值和第n片日志数据之前已成功上传的前n‑1片日志数据组合的组合数据的MD5值;云打印机向云打印服务器发送第n片日志数据、待上传的打印日志数据包的MD5值、第n片日志数据的MD5值和前n‑1片日志数据组合的组合数据的MD5值,以便云打印服务器进行完整性校验,n为大于等于1的整数,且n小于或等于m。因此,当打印机遇到故障时,能够及时建立解决问题的桥梁,提高解决问题的效率,降低客户的损失。
Description
技术领域
本申请实施例涉及电子领域,尤其涉及一种上传云打印日志的方法、装置和计算机存储介质。
背景技术
国际互联网迅速走向普及化,逐步从大学、科研机构走向企业和家庭,其功能也从信息共享演变为一种大众化的信息传播手段。通过使用因特网,即降低了成本,也造就了更多的商业机会,电子商务技术从而得以发展,使其逐步成为了互联网应用的最大热点。
在进行电子商务时,打印订单、发票和产品单等信息成为必不可少的一环,为打印一些内容,商家需要单独购买打印机并与手机、电脑或平板电脑联机,这样,不仅成本高,而且在实现远程打印时需要设置各种参数,实现比较困难,由此,云打印随即不断发展。
云打印是指以互联网为基础,整合打印服务商资源,构建共享打印平台,向所有加入的客户提供打印服务。
在云打印时,只需要将打印文档通过邮件或者客户端送到云平台运营商的云打印服务器上,由云打印服务器根据上传时指定的打印机将打印文件在该打印机进行打印。此外,云打印机还有共享功能,可以将云打印机分享给他人,让别人随时把文档通过云打印机打印。
云打印机可以应用于许多场景,如外卖、超市和商家等,用于打印订单和小票,是现代零售商家重度依赖的机器之一。
但是,若云打印机在使用期间发生不可预料的故障,送回返修将会消耗较多的时间,为商家带来不便,尤其是当产品销往海外的时候。所以,为了解决这一突发情况的痛点,目前现有技术中,云打印机采用日志(log)上传机制,例如,当云打印机内部软件出现故障(例如,软件卡死或崩溃)时,云打印机主动上传固定大小的崩溃log至云端的云打印服务器,或者,云打印机接受云端的云打印服务器的控制,上传不确定大小的log,方便工程师在线远程调试。
但是,虽然云打印机有故障时的log上传机制,但不具备实时性,不方便工程师在云端服务器了解机器出问题时的工作情况,log难以复现问题。而且,云打印机在网络不稳定的环境下工作时,例如,在2G网工作时,信号得不到保障,上传log会经常出现失败的情况,由此,会重复上传log,浪费资源。
发明内容
鉴于上述问题,本申请实施例提供了一种上传云打印日志的方法、装置和计算机存储介质,克服了上述问题或者至少部分地解决了上述问题。
本申请的第一方面提供一种上传云打印日志的方法,包括:
云打印机将待上传的打印日志数据包切片为m片日志数据,m为大于等于2的整数;
所述云打印机计算所述待上传的打印日志数据包的信息摘要算法MD5值;
计算所述第n片日志数据的MD5值和所述第n片日志数据之前已成功上传的前n-1片日志数据组合的组合数据的MD5值;
所述云打印机向所述云打印服务器发送所述第n片日志数据、所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值,以便所述云打印服务器进行完整性校验,n为大于等于1的整数,且n小于或等于m;
所述云打印机在收到所述云打印服务器针对所述第n片日志数据的完整性校验成功的消息后,继续上传第n+1片日志数据直到第m片日志数据上传成功。
可选地,所述云打印机将所述待上传的打印日志数据包切片为所述m片日志数据之前,所述方法还包括:
所述云打印机检测其运行的云打印是否故障;
当所述云打印机检测其运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;
当所述云打印机检测其运行的云打印退出故障时,将所述当前的打印日志数据包确定为所述待上传的打印日志数据包。
可选地,所述云打印机将所述待上传的打印日志数据包切片为所述m片日志数据之前,所述方法还包括:
所述云打印机在其运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存;
当所述云打印机检测其运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;
当所述云打印机检测其运行的云打印退出故障时,将所述当前的打印日志数据包和至少一个历史打印日志数据包压缩得到组合打印日志数据包,并确定所述组合打印日志数据包为所述待上传的打印日志数据包。
可选地,所述云打印机向所述云打印服务器发送所述第m片日志数据时,向所述云打印服务器发送所述待上传的打印日志数据包的MD5值、所述第m片日志数据的MD5值、已成功上传的前m-1片组合的组合数据的MD5值和上传结束标志。
可选地,所述云打印机将所述待上传的打印日志数据包切片为所述m片日志数据之前,所述方法还包括:
所述云打印机在其运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存;
所述云打印机接收所述云打印服务器发送的打印日志上传命令时,从所述历史打印日志数据包中选择最新的历史打印日志数据包作为所述预上传的打印日志数据包。
可选地,当所述云打印机接收所述云打印服务器发送的打印日志上传结束命令时,停止上传所述云打印机的日志。
可选地,所述云打印机不断更新地保存预定数量的最新的历史打印日志数据包。
本申请的第二方面提供一种上传云打印日志的装置,包括:
处理器,用于将待上传的打印日志数据包切片为m片日志数据,m为大于等于2的整数;计算所述待上传的打印日志数据包的信息摘要算法MD5值;计算所述第n片日志数据的MD5值和所述第n片日志数据之前已成功上传的前n-1片日志数据组合的组合数据的MD5值;
收发模块,向所述云打印服务器发送所述第n片日志数据、所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值,以便所述云打印服务器进行完整性校验,n为大于等于1的整数,且n小于或等于m;在收到所述云打印服务器针对所述第n片日志数据的完整性校验成功的消息后,继续上传第n+1片日志数据直到第m片日志数据上传成功。
可选地,所述处理器,还用于在所述收发模块将所述待上传的打印日志数据包切片为所述m片日志数据之前,检测其运行的云打印是否故障;当云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;当云打印退出故障时,将所述当前的打印日志数据包确定为所述待上传的打印日志数据包。
可选地,所述处理器,还用于在所述收发模块将所述待上传的打印日志数据包切片为所述m片日志数据之前,在运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存;当运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;当运行的云打印退出故障时,将所述当前的打印日志数据包和至少一个历史打印日志数据包压缩得到组合打印日志数据包,并确定所述组合打印日志数据包为所述待上传的打印日志数据包。
可选地,所述收发模块,还用于当向所述云打印服务器发送所述第m片日志数据时,向所述云打印服务器发送所述待上传的打印日志数据包的MD5值、所述第m片日志数据的MD5值、已成功上传的前m-1片组合的组合数据的MD5值和上传结束标志。
可选地,所述处理器,还用于在将所述待上传的打印日志数据包切片为所述m片日志数据之前,在其运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存;
所述收发模块,还用于接收所述云打印服务器发送的打印日志上传命令;
所述处理器,还用于根据所述打印日志上传命令从所述历史打印日志数据包中选择最新的历史打印日志数据包作为所述预上传的打印日志数据包。
可选地,所述收发模块,还用于接收所述云打印服务器发送的打印日志上传结束命令;
所述处理器,还用于根据所述打印日志上传结束命令停止上传所述云打印机的日志。
可选地,所述处理器,还用于更新地保存预定数量的最新的历史打印日志数据包。
本申请的第三方面提供一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述的上传云打印日志的方法的步骤。
本申请的第四方面提供一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行所述的上传云打印日志的方法的步骤。
根据上述描述的技术方案,上传的过程中将当前片、整个待上传的日志数据包整个文件、以及之前已上传的融合片的MD5值发送给服务器做完整性校验,当打印机遇到故障时,能够及时建立解决问题的桥梁,提高解决问题的效率,降低客户的损失。
上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例的一种云打印系统的结构示意图;
图2为本申请实施例一种云打印机的结构示意图;
图3为本申请另一实施例的一种上传云打印日志的方法流程示意图;
图4为本申请另一实施例中云打印机主动上报打印日志的方法的流程示意图;
图5为本申请另一实施例中云打印机被动上报打印日志的方法的流程示意图
图6为本申请另一实施例的一种上传云打印日志的装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。另外,本文中术语“系统”和“网络”在本文中常被可互换使用。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,为本申请一实施例的一种云打印系统的结构示意图,系统架构100可以包括终端设备101、102、103、网络104、云打印服务器105和云打印机106。网络104用以在终端设备101、102、103、云打印服务器105和云打印机106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与云打印服务器105交互,以接收或发送消息等,例如,向云打印服务器105发送打印指示、打印文件和接收云打印服务器105返回的打印结果信息。终端设备101、102、103上可以安装云打印应用(APP,application)或云打印软件等。云打印机106通过网络104与云打印服务器105交互,以接收或发送消息等,例如,接收云打印服务器105发送的打印命令、打印文件,并向云打印服务器105发送打印结果信息。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于用户终端、网络设备或用户终端与网络设备通过网络相集成所构成的设备。所述用户终端其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、IOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。当然,本领域技术人员应能理解上述终端设备仅为举例,其他现有的或今后可能出现的终端设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述网络104包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)、无线自组织网络(Ad Hoc网络)等。
云打印服务器105可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。其也可以是提供云打印服务的服务器。
应该理解,图1中的终端设备、网络、云打印服务器和云打印机的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、云打印服务器和云打印机。
请参阅图2,为本申请实施例一种云打印机的结构示意图,云打印机200包括一个或多个(图中仅示出一个)处理器201、存储器202、收发模块203和存储控制器204,可选地,所述云打印机200还可以包括外设接口205、定位模块206、摄像模块207、音频模块208、触控屏幕209以及按键模块210。这些组件通过一条或多条通讯总线/信号线211相互通讯。
可以理解,图2所示的结构仅为示意,云打印机200还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
在本申请实施例中,该处理器201可以是中央处理单元(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器201还可以是其他通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,例如单片机等。
存储器202可包括高速随机存储器,还可包括非易失性存储器(non-volatilememory)或易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器,例如,闪存(flash memory)、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、电可擦写可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、可编程只读存储器(programmable read-only memory,PROM)、磁性存储器、磁盘、光盘等,所述RAM可以包括静态RAM或动态RAM。在一些实施例中,所述存储器202可以是所述云打印机200的内部存储单元,例如,该所述云打印机200的硬盘或内存。在另一些实施例中,所述存储器202也可以是所述云打印机200的外部存储设备,例如该所述云打印机200上配备的插接式硬盘、智能存储卡(Smart Media Card, SMC)、安全数字(Secure Digital, SD)卡或闪存卡(Flash Card)等。在一些实例中,存储器202可进一步包括相对于所述云打印机200远程设置的存储器,这些远程存储器可以通过网络连接至云打印机200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器201以及其他可能的组件对存储器202的访问可在存储控制器204的控制下进行。
存储器202可用于存储软件程序以及模块,如本申请实施例中的云打印机200的上传云打印日志的方法及装置对应的程序指令/模块,处理器201通过运行存储在存储器202内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的在云打印机200的上传云打印日志的方法。
外设接口205将各种输入/输入装置耦合至处理器201以及存储器202。处理器201运行存储器202内的各种软件、指令以执行云打印机200的各种功能以及进行数据处理。
在一些实施例中,处理器201、存储控制器204以及外设接口205可以在单个芯片中实现。在其他一些实例中,它们可以分别由独立的芯片实现。
收发模块203用于接收以及发送信号或数据,收发模块203可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(Subscriber Identity Module,SIM)卡、存储器等等。收发模块203可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯,例如,连接云端的云打印服务器。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced DataGSM Environment,EDGE)、宽带码分多址技术(wideband code division multipleaccess,W-CDMA)、码分多址技术(Code division access,CDMA)、时分多址技术(timedivision multiple access,TDMA)、蓝牙、无线保真技术(Wireless Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE 802.11a,IEEE 802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over internet protocol,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
定位模块206用于获取云打印机200的当前位置,例如,定位模块206可以提供物理地址(Media Access Control Address,MAC地址)、互联网协议地址(IP地址)、email地址或其他端口地址等等。
摄像模块207用于扫描、拍摄照片或者视频。拍摄的照片或者视频可以存储至存储器202内,并可通过收发模块203发送。
音频模块208向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口205处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口205中以进行进一步的处理。音频数据可以从存储器202处或者通过收发模块203获取。此外,音频数据也可以存储至存储器202中或者通过收发模块203进行发送。在一些实例中,音频模块208还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
触控屏幕209在云打印机200与用户之间同时提供一个输出及输入界面。具体地,触控屏幕209向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕209还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕209的显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。
按键模块210同样提供用户向云打印机200进行输入的接口,用户可以通过按下不同的按键以使云打印机200执行不同的功能。
如图3所示,为本申请另一实施例的一种上传云打印日志的方法流程示意图,所述上传云打印日志的方法可以由图2实施例的云打印机执行。
步骤301,云打印机将待上传的打印日志数据包切片为m片日志数据,m为大于等于2的整数。
在本申请的另一实施例中,所述云打印机在其运行的云打印正常时,产生打印日志文件,例如,打印日志文件可以命名为current.log,并保存在存储器的一个预定文件夹内,例如,/tmp/logdir文件夹中,每当打印日志文件的数据大小达到阈值时,将该打印日志文件压缩为一个历史打印日志数据包,例如,所述阈值为300KB,或者,每隔预定时间,将该打印日志文件压缩为一个历史打印日志数据包,例如,所述预定时间为15秒,所述历史打印日志数据包命名可以为x.log.gz,其中,x等于0、1、2、3、4或5,并将历史打印日志数据包保存在存储器的一个预定文件夹内,例如,/tmp/logdir文件夹中。
所述云打印机不断更新地保存预定数量的最新的历史打印日志数据包,例如,所述云打印机的存储器中同一时间最多只能存在五个历史打印日志数据包,例如,依次为第一历史打印日志数据包(例如,命名为0.log.gz)、第二历史打印日志数据包(例如,命名为1.log.gz)、第三历史打印日志数据包(例如,命名为2.log.gz)、第四历史打印日志数据包(例如,命名为3.log.gz)和第五历史打印日志数据包(例如,命名为4.log.gz),其中,按照存在时长从大到小排序,依次为:第一历史打印日志数据包、第二历史打印日志数据包、第三历史打印日志数据包、第四历史打印日志数据包和第五历史打印日志数据包。当存在五个历史打印日志数据包后,如果继续产生历史打印日志数据包,存在时间最长的第一历史打印日志数据包(例如,命名为0.log.gz)会被新来的历史打印日志数据包覆盖掉,并且更名为4.log.gz,其他x.log.gz会被依次更名为x-1.log.gz。
云打印机可以在打印故障时,主动向云打印服务器上报打印日志,例如,打印故障可以包括多种情况,例如云打印程序出错、崩溃或卡死,或者打印卡纸。
例如,所述云打印机将所述待上传的打印日志数据包切片为所述m片日志数据之前,所述云打印机检测其运行的云打印是否故障;当所述云打印机检测其运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;当所述云打印机检测其运行的云打印退出故障时,将所述当前的打印日志数据包确定为所述待上传的打印日志数据包。
在本申请的另一实施例中,所述云打印机将所述待上传的打印日志数据包切片为所述m片日志数据之前,所述云打印机在其运行的云打印正常时,将数据量大小达到阈值的打印日志文件压缩为历史打印日志数据包并保存;当所述云打印机检测其运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;当所述云打印机检测其运行的云打印退出故障时,将所述当前的打印日志数据包和至少一个历史打印日志数据包压缩得到组合打印日志数据包,并确定所述组合打印日志数据包为所述待上传的打印日志数据包。
在本申请的另一实施例中,所述云打印机也可以在云打印服务器的指示命令下,被动上报其产生的打印日志。
例如,所述云打印机在其运行的云打印正常时,将数据量大小达到阈值的打印日志文件压缩为历史打印日志数据包并保存;所述云打印机接收所述云打印服务器发送的打印日志上传命令时,例如通过消息队列遥测传输协议(Message Queuing TelemetryTransport,MQTT)指令发送的打印日志上传命令,所述云打印机从所述历史打印日志数据包中选择最新的历史打印日志数据包作为所述预上传的打印日志数据包。
在本申请的另一实施例中,云打印机可以按照预定的数据切片大小将待上传的打印日志数据包进行切片,例如,以10KB为一个单位对待上传的打印日志数据包进行切片,例如,得到5片或10片日志数据,并将切片数据存到存储器,例如,存储器的预设文件夹中,例如,存储器的/tmp文件夹。
步骤302,所述云打印机计算所述待上传的打印日志数据包的信息摘要算法(Message-Digest Algorithm,MD5)值。
MD5值是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。所述云打印机计算所述待上传的打印日志数据包的MD5值。
步骤303,所述云打印机向云端的云打印服务器上传所述m片日志数据中的第n片日志数据之前,计算所述第n片日志数据的MD5值和所述第n片日志数据之前已成功上传的前n-1片日志数据组合的组合数据的MD5值,其中,n为大于等于1的整数,且n小于或等于m。
例如,所述待上传的打印日志数据包被分成10片日志数据,当云打印机准备向云端的云打印服务器上传第5片日志数据时,计算所述第5片日志数据的MD5值和所述第5片日志数据之前已成功上传的前4片日志数据组合的组合数据的MD5值。
步骤304,所述云打印机向所述云打印服务器发送所示第n片日志数据、所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值。
例如,所述云打印机向所述云打印服务器发送第5片日志数据时,还同时发送所述待上传的打印日志数据包的MD5值、所述第5片日志数据的MD5值和所述前4片日志数据组合的组合数据的MD5值。
例如,所述云打印机可以以超文本传输协议(Hyper Text Transfer Protocol,HTTP) POST断点上传的方式将所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值发送给所述云打印服务器,例如,所述云打印机将所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值放置于POST表单中,然后将该POST表单向所述云打印服务器发送。
步骤305,所述云打印服务器根据所接收的所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值对所述第n片日志数据进行完整性校验。
如果完整性校验成功通过,则所述云打印服务器将完整性校验成功结果通知所述云打印机,如果完整性校验失败,则所述云打印服务器将完整性校验失败结果通知所述云打印机。
步骤306,所述云打印机在收到所述云打印服务器针对所述第n片日志数据的完整性校验成功的消息后,继续上传第n+1片日志数据直到第m片日志数据上传成功。
所述云打印机继续上传第n+1片日志数据时,也相同地将所述待上传的打印日志数据包的MD5值、所述第n+1片日志数据的MD5值和所述前n片日志数据组合的组合数据的MD5值发送给所述云打印服务器,以便所述云打印服务器对所述第n+1片日志数据进行完整性校验,直到第m片日志数据上传成功。
如果是所述云打印机在云打印故障退出后,主动向所述云打印服务器上传云打印日志,则所述云打印机在上传第m片日志数据时,不仅仅向所述云打印服务器发送所述待上传的打印日志数据包的MD5值、所述第m片日志数据的MD5值和已成功上传的前m-1片组合的组合数据的MD5值,还向所述云打印服务器发送上传结束标志,以便所述云打印服务器获知打印日志已经上传完成。
如果是所述云打印机在云打印服务器的控制下,被动向云打印服务器上传打印日记,则当所述云打印机接收所述云打印服务器发送的打印日志上传结束命令时,停止上传所述云打印机的日志。
在本申请的另一实施例中,当所述云打印机在收到所述云打印服务器针对所述第n片日志数据的完整性校验失败的消息后,所述云打印机可以重复上传所述第n片日志数据以及所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值,直到在重传次数届满之前成功,或者直到重传次数届满时依然没有重传成功,则终止上传云打印日志的过程。
根据上述描述的上传云打印日志的方法,上传的过程中将当前片、整个待上传的日志数据包整个文件、以及之前已上传的融合片的MD5值发送给服务器做完整性校验,当打印机遇到故障时,能够及时建立解决问题的桥梁,提高解决问题的效率,降低客户的损失。
如图4所示,为本申请另一实施例中云打印机主动上报打印日志的方法的流程示意图。
正常状态下,云打印机的监控处理器(Monitor)将打印应用产生的日志(log)命名为当前日志(current.log)保存在存储器(例如,内存)的预定文件夹,例如, /tmp/logdir文件夹中,当current.log大于阈值值(例如,300KB)或每个预定时长,例如每个15秒,将current.log压缩为日志数据包文件(例如,gz文件)以节省内存,并且重命名为x.log.gz,x为数字0~4,其中,按照保存时长从大到小排序为:0.log.gz、1.log.gz、2.log.gz、3.log.gz、4.log.gz。内存中同一时间设定最多只能存在5个x.log.gz文件,当/tmp/logdir中有5个x.log.gz文件后,0.log.gz会被新来的log.gz文件覆盖掉,并且更名为4.log.gz,其他x.log.gz会被依次更名为x-1.log.gz,例如: 原来的1.log.gz 修改为0.log.gz ,原来的2.log.gz-修改为1.log.gz、原来的3.log.gz->2.log.gz,原来的4.log.gz修改为3.log.gz。
步骤401-402,Monitor模块检测打印应用管理程序(AM)是否异常退出,当打印应用管理程序异常退出后,Monitor模块通过套接字(socket)通知日志服务(LogServer)模块将存储器(例如内存)中的5个x.log.gz文件和current.log合并一起打包成一个日志数据包(abnormal.log.gz),存放于内存的预定文件夹,例如/data/APP0文件内。
步骤403,Monitor模块重启打印应用管理程序。
LogServer发送信号量给Monitor模块,以通知Monitor模块进行打印日志的上传。
步骤404-406,打印应用管理程序重新启动后,Monitor模块检查到/data/APP0/abnormal.log.gz存在,以预定切片数据大小(例如,10KB)为一个单位对abnormal.log.gz切片成多片日志数据并存储于内存中的预定文件夹,例如/tmp文件夹,并且计算abnormal.log.gz的md5值,每次上传一片日志数据,上传该片日志数据之前,计算该片日志数据的md5值以及该片日志数据前n片组合起来的组合数据的md5值,上传时,不仅上传该片日志数据,还将这三个md5值(即,abnormal.log.gz的md5值、该片日志数据的md5值和该片日志数据前n片组合起来的组合数据的md5值)上传,例如将这三个md5值填充在邮递(POST)表单里一并送给云打印服务器进行完整性校验,每次上传一片日志数据,云打印服务器都会返回完整性校验是否成功,如果成功就上传下一片,未成功则继续上传当前片,直到预定重传次数届满前重传成功,或者重传次数届满时依然没有成功,就终止上传。上传到最后一片日志数据时,在POST表单中还加入结束(end)标志,通知云打印服务器上传完毕。最后上传完毕后将/tmp下的切片数据和组合数据以及/data/APP0/abnormal.log.gz删除。
上述实施例描述云打印机异常时,例如云打印程序崩溃时,云打印机主动上传云打印日志的过程,能够及时建立解决问题的桥梁,提高解决问题的效率,降低客户的损失。
如图5所示,为本申请另一实施例中云打印机被动上报打印日志的方法的流程示意图。
云打印机在云打印程序正常时,LogServer模块既可以如前述图4描述一样,生成日记数据包(tar.gz),也可以每隔15秒生成xxxxxxxx.tar.gz,其中,xxxxxxxx值是8位16进制,例如000000FF.tar.gz,相当于是第256个log文件,存放于内存/tmp/logdir/upload/stream中。
步骤501,云打印机接收到云打印服务器端推送的打印日志上传开始的MQTT指令,LogServer发送信号量给Monitor模块,以通知Monitor模块进行打印日志的上传。
步骤502-505,Monitor模块接收到信号量后,检测对应目录下是否有日志(log)文件,如果有对应目录下有日志(log)文件,例如,/tmp/logdir/upload/stream下有xxxxxxxx.tar.gz文件,确定是否有多个log文件,将编号最大(即时间上最新)的log文件进行切片上传,切片和上传过程,具体可以参考前述图4描述的内容,在此不再赘述。上传成功后会将此文件夹下的所有文件都删除。这样在网络状况不好的情况下,会选择时间上最新的log进行上传。整个打印日志上传流程直至云打印服务器下发打印日志log上传结束MQTT指令,云打印机停止上传。
在本申请的另一实施例中,云打印服务器也可以通过发送开启调试(debug)模式的日志打印MQTT指令,通知云打印机上传云打印日志,例如,如下所述。
步骤506,云打印服务器开启debug模式的日志打印MQTT指令给云打印机。
步骤508-509,Monitor模块收到MQTT等等debug开启指令,通过socket通知LogServer模块开启debug模式。
debug模式开启后,执行步骤512。
如果需要关闭debug模式,执行步骤510。
步骤507,如果需要关闭debug模式,云打印服务器关闭debug模式的日志打印MQTT指令给云打印机,然后执行步骤510、511和515。
步骤510,Monitor模块接收MQTT等待debug模式关闭指令。
步骤511,Monitor模块通过socket通知logserver模块关闭debug模式。
步骤512,Monitor模块接收等待开启debug模式指令。
步骤513,logserver模块将内存中的log文件压缩保存成日志数据包文件。
步骤514,logserver模块发送信号量通知Monitor模块上传云打印日志,然后执行步骤501-505,具体参考前述描述,在此不再赘述。
步骤515,Monitor模块确定是否关闭debug模式。
如果关闭debug模式,流程结束,如果不关闭debug模式,执行步骤516。
步骤516,Monitor模块等待其内部定时器预定生成打印日志log的时间,例如15秒,然后执行步骤513。
上述实施例描述云打印机在云打印服务器的通知下被动上传云打印日志的过程,能够及时建立解决问题的桥梁,提高解决问题的效率,降低客户的损失。
如图6所示,为本申请另一实施例的一种上传云打印日志的装置的结构示意图,所述上传云打印日志的装置可以为云打印机的电路芯片,或者所述上传云打印日志的装置为一种云打印机。
所述上传云打印日志的装置包括:处理器61、收发模块62和存储器63,所述处理器61、所述收发模块62和所述存储器63任意两者之间通过总线相互连接,任意模块可以通过电路、芯片或处理器实现。
在本申请实施例中,该处理器61可以是中央处理单元(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,例如单片机等。
该收发模块62可以包括发送电路和接收电路,可以通过芯片或电路实现。
所述存储器63至少包括一种类型的可读存储介质,所述可读存储介质包括非易失性存储器(non-volatile memory)或易失性存储器,例如,闪存(flash memory)、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦写可编程只读存储器(erasableprogrammable read-only memory,EPROM)、电可擦写可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、可编程只读存储器(programmableread-only memory,PROM)、磁性存储器、磁盘、光盘等,所述RAM可以包括静态RAM或动态RAM。在一些实施例中,所述存储器63可以是所述上传云打印日志的装置的内部存储单元,例如,该所述上传云打印日志的装置的硬盘或内存。在另一些实施例中,所述存储器63也可以是所述上传云打印日志的装置的外部存储设备,例如该所述上传云打印日志的装置上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,所述存储器63还可以既包括所述上传云打印日志的装置的内部存储单元也包括其外部存储设备。本实施例中,所述存储器63通常用于存储安装于所述上传云打印日志的装置的操作系统和各类应用软件,例如用于执行上传云打印日志的方法的程序代码等。此外,所述存储器63还可以用于暂时地存储已经输出或者将要输出的各类数据。
本文描述的总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该总线系统可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述处理器61,用于将待上传的打印日志数据包切片为m片日志数据,m为大于等于2的整数;计算所述待上传的打印日志数据包的信息摘要算法MD5值;计算所述第n片日志数据的MD5值和所述第n片日志数据之前已成功上传的前n-1片日志数据组合的组合数据的MD5值。
所述收发模块62,向所述云打印服务器发送所述第n片日志数据、所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值,以便所述云打印服务器进行完整性校验,n为大于等于1的整数,且n小于或等于m;在收到所述云打印服务器针对所述第n片日志数据的完整性校验成功的消息后,继续上传第n+1片日志数据直到第m片日志数据上传成功。
例如,上传云打印日志的装置可以云打印故障时,主动向云打印服务器上报云打印日志,也可以在接收云打印服务器发送的上报云打印日志的通知时,被动向云打印服务器上报云打印日志。
例如,所述处理器61,用于检测其运行的云打印是否故障;当云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存在所述存储器63中;当云打印退出故障时,将所述当前的打印日志数据包确定为待上传的打印日志数据包。
所述处理器61,还用于在在运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存在所述存储器63中;当运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存在所述存储器63中;当运行的云打印退出故障时,将所述当前的打印日志数据包和至少一个历史打印日志数据包压缩得到组合打印日志数据包,并确定所述组合打印日志数据包为所述待上传的打印日志数据包。
所述收发模块62,用于当向所述云打印服务器发送所述第m片日志数据时,向所述云打印服务器发送所述待上传的打印日志数据包的MD5值、所述第m片日志数据的MD5值、已成功上传的前m-1片组合的组合数据的MD5值和上传结束标志。
所述处理器61,还用于在将所述待上传的打印日志数据包切片为所述m片日志数据之前,在其运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存在所述存储器63中。
所述收发模块62,还用于接收所述云打印服务器发送的打印日志上传命令,所述处理器61,还用于根据所述打印日志上传命令从所述历史打印日志数据包中选择最新的历史打印日志数据包作为所述预上传的打印日志数据包。
所述收发模块62,还用于接收所述云打印服务器发送的打印日志上传结束命令;所述处理器61,还用于根据所述打印日志上传结束命令停止上传所述云打印机的日志。
所述处理器61,还用于更新地保存预定数量的最新的历史打印日志数据包在所述存储器63中。
所述处理器61、所述收发模块62和所述存储器63的具体工作过程,可以参考前述方法实施例所描述的对应内容,在此不再赘述。
本申请的另一实施例还提供一种计算机可读介质,计算机可读介质可以是计算机可读信号介质或者计算机可读介质。计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图3-5对应的执行上传云打印日志的方法中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读介质包含但不限于电子、磁性、光学、电磁、红外的存储器或半导体系统、设备或者装置,或者前述的任意适当组合,所述存储器用于存储程序代码或指令,所述程序代码包括计算机操作指令,所述处理器用于执行所述存储器存储的程序代码或指令。
所述存储器和所述处理器的定义,可以参考前述计算机设备实施例的描述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (16)
1.一种上传云打印日志的方法,其特征在于,包括:
云打印机将待上传的打印日志数据包切片为m片日志数据,m为大于等于2的整数;
所述云打印机计算所述待上传的打印日志数据包的信息摘要算法MD5值;
计算所述第n片日志数据的MD5值和所述第n片日志数据之前已成功上传的前n-1片日志数据组合的组合数据的MD5值;
所述云打印机向所述云打印服务器发送所述第n片日志数据、所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值,以便所述云打印服务器进行完整性校验,n为大于等于1的整数,且n小于或等于m;
所述云打印机在收到所述云打印服务器针对所述第n片日志数据的完整性校验成功的消息后,继续上传第n+1片日志数据直到第m片日志数据上传成功。
2.根据权利要求1所述的方法,其特征在于,所述云打印机将所述待上传的打印日志数据包切片为所述m片日志数据之前,所述方法还包括:
所述云打印机检测其运行的云打印是否故障;
当所述云打印机检测其运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;
当所述云打印机检测其运行的云打印退出故障时,将所述当前的打印日志数据包确定为所述待上传的打印日志数据包。
3.根据权利要求1所述的方法,其特征在于,所述云打印机将所述待上传的打印日志数据包切片为所述m片日志数据之前,所述方法还包括:
所述云打印机在其运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存;
当所述云打印机检测其运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;
当所述云打印机检测其运行的云打印退出故障时,将所述当前的打印日志数据包和至少一个历史打印日志数据包压缩得到组合打印日志数据包,并确定所述组合打印日志数据包为所述待上传的打印日志数据包。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
所述云打印机向所述云打印服务器发送所述第m片日志数据时,向所述云打印服务器发送所述待上传的打印日志数据包的MD5值、所述第m片日志数据的MD5值、已成功上传的前m-1片组合的组合数据的MD5值和上传结束标志。
5.根据权利要求1所述的方法,其特征在于,所述云打印机将所述待上传的打印日志数据包切片为所述m片日志数据之前,所述方法还包括:
所述云打印机在其运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存;
所述云打印机接收所述云打印服务器发送的打印日志上传命令时,从所述历史打印日志数据包中选择最新的历史打印日志数据包作为所述预上传的打印日志数据包。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述云打印机接收所述云打印服务器发送的打印日志上传结束命令时,停止上传所述云打印机的日志。
7.根据权利要求2、3、5或6所述的方法,其特征在于,所述方法还包括:
所述云打印机不断更新地保存预定数量的最新的历史打印日志数据包。
8.一种上传云打印日志的装置,其特征在于,包括:
处理器,用于将待上传的打印日志数据包切片为m片日志数据,m为大于等于2的整数;计算所述待上传的打印日志数据包的信息摘要算法MD5值;计算所述第n片日志数据的MD5值和所述第n片日志数据之前已成功上传的前n-1片日志数据组合的组合数据的MD5值;
收发模块,向所述云打印服务器发送所述第n片日志数据、所述待上传的打印日志数据包的MD5值、所述第n片日志数据的MD5值和所述前n-1片日志数据组合的组合数据的MD5值,以便所述云打印服务器进行完整性校验,n为大于等于1的整数,且n小于或等于m;在收到所述云打印服务器针对所述第n片日志数据的完整性校验成功的消息后,继续上传第n+1片日志数据直到第m片日志数据上传成功。
9.根据权利要求8所述的装置,其特征在于,所述处理器,还用于在所述收发模块将所述待上传的打印日志数据包切片为所述m片日志数据之前,检测其运行的云打印是否故障;当云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;当云打印退出故障时,将所述当前的打印日志数据包确定为所述待上传的打印日志数据包。
10.根据权利要求8所述的装置,其特征在于,所述处理器,还用于在所述收发模块将所述待上传的打印日志数据包切片为所述m片日志数据之前,在运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存;当运行的云打印故障时,将当前的打印日志文件压缩为当前的打印日志数据包并保存;当运行的云打印退出故障时,将所述当前的打印日志数据包和至少一个历史打印日志数据包压缩得到组合打印日志数据包,并确定所述组合打印日志数据包为所述待上传的打印日志数据包。
11.根据权利要求9或10所述的装置,其特征在于,所述收发模块,还用于当向所述云打印服务器发送所述第m片日志数据时,向所述云打印服务器发送所述待上传的打印日志数据包的MD5值、所述第m片日志数据的MD5值、已成功上传的前m-1片组合的组合数据的MD5值和上传结束标志。
12.根据权利要求8所述的装置,其特征在于,所述处理器,还用于在将所述待上传的打印日志数据包切片为所述m片日志数据之前,在其运行的云打印正常时,将数据量大小达到阈值或每隔预定时长的打印日志文件压缩为历史打印日志数据包并保存;
所述收发模块,还用于接收所述云打印服务器发送的打印日志上传命令;
所述处理器,还用于根据所述打印日志上传命令从所述历史打印日志数据包中选择最新的历史打印日志数据包作为所述预上传的打印日志数据包。
13.根据权利要求12所述的装置,其特征在于,
所述收发模块,还用于接收所述云打印服务器发送的打印日志上传结束命令;
所述处理器,还用于根据所述打印日志上传结束命令停止上传所述云打印机的日志。
14.根据权利要求9、10、12或13所述的装置,其特征在于,所述处理器,还用于更新地保存预定数量的最新的历史打印日志数据包。
15.一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的上传云打印日志的方法的步骤。
16.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行权利要求1-7任意一项所述的上传云打印日志的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010535585.2A CN111857609A (zh) | 2020-06-12 | 2020-06-12 | 一种上传云打印日志的方法、装置和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010535585.2A CN111857609A (zh) | 2020-06-12 | 2020-06-12 | 一种上传云打印日志的方法、装置和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111857609A true CN111857609A (zh) | 2020-10-30 |
Family
ID=72986070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010535585.2A Pending CN111857609A (zh) | 2020-06-12 | 2020-06-12 | 一种上传云打印日志的方法、装置和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857609A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600986A (zh) * | 2020-12-08 | 2021-04-02 | 上海商米科技集团股份有限公司 | 一种云打印全链路测试方法、系统、测试设备及存储介质 |
CN115037736A (zh) * | 2022-04-27 | 2022-09-09 | 浪潮通信技术有限公司 | 日志收集方法及日志收集装置 |
CN115122640A (zh) * | 2022-05-30 | 2022-09-30 | 深圳市纵维立方科技有限公司 | 三维打印方法、系统、存储介质及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547172A (zh) * | 2018-12-14 | 2019-03-29 | 东莞见达信息技术有限公司 | 数据传输方法、系统及数据发送设备、数据接收设备 |
CN110825330A (zh) * | 2019-10-11 | 2020-02-21 | 杭州珐珞斯科技有限公司 | 一种基于文件分片的云打印方法、打印云盒、系统和存储介质 |
-
2020
- 2020-06-12 CN CN202010535585.2A patent/CN111857609A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547172A (zh) * | 2018-12-14 | 2019-03-29 | 东莞见达信息技术有限公司 | 数据传输方法、系统及数据发送设备、数据接收设备 |
CN110825330A (zh) * | 2019-10-11 | 2020-02-21 | 杭州珐珞斯科技有限公司 | 一种基于文件分片的云打印方法、打印云盒、系统和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600986A (zh) * | 2020-12-08 | 2021-04-02 | 上海商米科技集团股份有限公司 | 一种云打印全链路测试方法、系统、测试设备及存储介质 |
CN115037736A (zh) * | 2022-04-27 | 2022-09-09 | 浪潮通信技术有限公司 | 日志收集方法及日志收集装置 |
CN115122640A (zh) * | 2022-05-30 | 2022-09-30 | 深圳市纵维立方科技有限公司 | 三维打印方法、系统、存储介质及计算机设备 |
CN115122640B (zh) * | 2022-05-30 | 2024-05-24 | 深圳市纵维立方科技有限公司 | 三维打印方法、系统、存储介质及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10360426B2 (en) | Computer configured to display multimedia content | |
CN111857609A (zh) | 一种上传云打印日志的方法、装置和计算机存储介质 | |
US10530716B2 (en) | Voice chat mode self-adapting method and apparatus | |
US11889014B2 (en) | Method and apparatus for processing contact information using a wireless terminal | |
CN104253741B (zh) | 一种信息发送方法、相关装置及系统 | |
CN111416867A (zh) | 不同设备间的消息处理方法、服务器和计算机存储介质 | |
WO2012065381A1 (zh) | 一种防止恶意软件发送数据的方法及装置 | |
CN112615753B (zh) | 一种链路异常追踪方法、第一节点、第二节点以及链路 | |
WO2021237433A1 (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
US20190155697A1 (en) | Data backup method and terminal | |
US20110016190A1 (en) | Method and apparatus for realizing message service | |
CN106331372A (zh) | 数据传输方法及移动终端 | |
CN106445743A (zh) | 数据备份传输方法及移动终端 | |
CN111625371A (zh) | 一种文本传输方法、装置、pc端、移动终端及系统 | |
CN112866193A (zh) | 设备部署方法、装置、设备及存储介质 | |
CN108462734B (zh) | 消息接收方法和装置 | |
CN105224420B (zh) | 一种自动解析终端异常的分析方法及系统 | |
CN112087475A (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
CN104639973B (zh) | 一种信息推送方法及装置 | |
EP2814201A1 (en) | Notification message sending method, system, manipulation apparatus, and terminal device | |
US20180110091A1 (en) | Data Transmission Method and Apparatus for Data Service | |
CN106412893A (zh) | 一种快速Portal认证的方法、系统和WIFI设备 | |
CN115208951A (zh) | 请求处理方法、装置、电子设备及计算机可读存储介质 | |
CN114520807A (zh) | 文件上传下载方法、装置、计算机设备及存储介质 | |
CN108234216B (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 |