CN117395544B - 电池状态数据上报方法、终端设备及存储介质 - Google Patents
电池状态数据上报方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN117395544B CN117395544B CN202311699404.XA CN202311699404A CN117395544B CN 117395544 B CN117395544 B CN 117395544B CN 202311699404 A CN202311699404 A CN 202311699404A CN 117395544 B CN117395544 B CN 117395544B
- Authority
- CN
- China
- Prior art keywords
- battery
- data
- state data
- status data
- file
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000002159 abnormal effect Effects 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 25
- 238000012432 intermediate storage Methods 0.000 claims description 8
- 230000006855 networking Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000001960 triggered effect Effects 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
- 238000005259 measurement Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/20—Arrangements in telecontrol or telemetry systems using a distributed architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/70—Arrangements in the main station, i.e. central controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/80—Arrangements in the sub-station, i.e. sensing device
- H04Q2209/82—Arrangements in the sub-station, i.e. sensing device where the sensing device takes the initiative of sending data
- H04Q2209/823—Arrangements in the sub-station, i.e. sensing device where the sensing device takes the initiative of sending data where the data is sent when the measured values exceed a threshold, e.g. sending an alarm
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/80—Arrangements in the sub-station, i.e. sensing device
- H04Q2209/84—Measuring functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本申请涉及一种电池状态数据上报方法、终端设备及存储介质。在终端设备的电池电量为预设百分比或终端设备出现电池异常事件时,嵌入式控制器触发强制关机事件。应用程序根据强制关机事件,获取电池状态数据,创建存储文件,并将数据存储在存储文件的字符串字段中。若检测到终端设备重新开机,应用程序将存储文件中的电池状态数据保存到本地文件中。若检测到终端设备连网,应用程序从本地文件中读取出电池状态数据,并上传到云端或服务器的大数据平台中。上述技术方案中,通过将电池状态数据存储在应用程序创建的存储文件的字符串字段中,使得终端设备关机前能够成功将电池电量掉为0%或电池异常时的电池状态数据进行存储,并上报给云端或服务器。
Description
技术领域
本申请涉及终端设备技术领域,具体涉及一种电池状态数据上报方法、终端设备及存储介质。
背景技术
相关技术中,在通过打点方案采集个人计算机(Personal Computer,PC)等终端设备的电池维测大数据的过程中,发现当电池电量掉为0%时会触发PC中的嵌入式控制器(Embedded Controller,EC)的强制关机事件,使得PC进入倒计时关机,同时EC将该强制关机事件上报给PC的电脑管家。然而,在PC关机的情况下,电脑管家也会退出,导致电脑管家无法将电池电量掉为0%时的电池状态数据正常上报给云端或服务器。
发明内容
鉴于以上内容,有必要提供一种电池状态数据上报方法、终端设备及存储介质以解决终端设备无法将电池电量掉为0%时的电池状态数据进行正常上报的问题。
第一方面,本申请实施例提供一种电池状态数据上报方法,应用于终端设备中,终端设备包括嵌入式控制器及操作系统,所述方法包括:若检测到终端设备的电池电量为预设百分比或终端设备出现电池异常事件,嵌入式控制器触发强制关机事件;操作系统的应用程序根据强制关机事件,获取电池打点信息,其中电池打点信息包括至少一电池状态数据;应用程序创建存储文件,并将至少一电池状态数据存储在存储文件的字符串字段中;若检测到终端设备重新开机,应用程序从存储文件中读取所有电池状态数据,并将读取的电池状态数据保存到本地文件中;若检测到终端设备连网,应用程序从本地文件中读取出所有电池状态数据,并将所有电池状态数据上传到云端或服务器的大数据平台中。上述技术方案中,在终端设备倒计时关机前,终端设备通过将至少一电池状态数据存储在应用程序创建的存储文件的字符串字段中,提高数据存储速率,使得终端设备关机前能够成功将电池电量掉为0%或电池异常时的电池状态数据进行存储,在检测到下次重启开机时,终端设备将电池状态数据上传到云端或服务器的大数据平台中,从而能够成功将电池电量掉为0%或电池异常时的电池状态数据正常上报给云端或服务器中。
在本申请的一实施例中,操作系统的应用程序根据强制关机事件,获取电池打点信息,包括:在触发强制关机事件的情况下,嵌入式控制器进行计时,向终端设备的基本输入输出系统发送强制关机事件,并在计时时间达到预设条件后进行关机;基本输入输出系统响应强制关机事件,向操作系统发送关机通知;应用程序根据关机通知,获取电池打点信息。上述技术方案中,嵌入式控制器通过基本输入输出系统将关机通知发送给应用程序,使得应用程序根据关机通知,获取电池打点信息。
在本申请的一实施例中,电池打点信息包括至少一打点字段信息,每一打点字段信息包括一个电池状态数据,将至少一电池状态数据存储在存储文件的字符串字段中包括:按照字符串的数据类型将每一打点字段信息中的电池状态数据存储在字符串字段中。上述技术方案中,通过按照字符串的数据类型将每一打点字段信息中的电池状态数据存储在字符串字段中,可以快速实现打点字段信息的存储。
在本申请的一实施例中,在将至少一电池状态数据存储在存储文件的字符串字段中之后,所述方法还包括:应用程序设置一标志位为初始值,初始值用于指示应用程序将至少一电池状态数据上传到云端或服务器的大数据平台中;若确定在终端设备关机前将至少一电池状态数据上传到云端或服务器的大数据平台后,应用程序将标志位由初始值变更为更新值,更新值用于指示应用程序已将至少一电池状态数据上传到云端或服务器的大数据平台中。上述技术方案中,终端设备根据标志位能够确定是否将电池状态数据上传到云端或服务器的大数据平台中。
在本申请的一实施例中,应用程序从存储文件中读取所有电池状态数据,并将读取的电池状态数据保存到本地文件中,包括:若确定存储文件存在,且标志位为初始值,将读取的电池状态数据保存到中间存储文件中;从中间存储文件中读取电池状态数据,并将读取的电池状态数据保存到本地文件中。上述技术方案中,在存储文件存在的情况下,终端设备能够根据标志位为初始值的指示,将读取的电池状态数据保存到本地文件中。
在本申请的一实施例中,应用程序从存储文件中读取所有电池状态数据包括:若确定存储文件存在,且标志位为更新值,应用程序不将至少一电池状态数据上传到云端或服务器的大数据平台中,并删除存储文件。上述技术方案中,在存储文件存在的情况下,终端设备能够根据标志位为初始值的指示,将读取的电池状态数据保存到本地文件中。
在本申请的一实施例中,应用程序创建一个存储文件包括:应用程序通过调用SaveNotifyIDmessage函数在终端中存储应用程序的程序的存储路径下创建存储文件。上述技术方案中,应用程序通过调用SaveNotifyIDmessage函数能够成功创建存储文件,用于暂存电池状态数据。
在本申请的一实施例中,将读取的电池状态数据保存到本地文件中包括:应用程序通过调用EventDataReport::Instance().SendMsg(msg)接口函数,将读取的电池状态数据保存到本地文件中。上述技术方案中,应用程序通过调用EventDataReport::Instance().SendMsg(msg)接口函数,能够将电池状态数据保存到本地文件中,以便应用程序将电池状态数据上传到云端或服务器的大数据平台中。
在本申请的一实施例中,在将所有电池状态数据上传到云端或服务器的大数据平台中之后,所述方法还包括:删除存储文件。
在本申请的一实施例中,获取电池打点信息包括:应用程序通过调用GetWmiPowerStatus接口函数获取电池打点信息。
在本申请的一实施例中,所述方法还包括:嵌入式控制器在终端设备的工作状态为开机状态及终端设备的工作模式为未连接到电源的工作模式时,检测终端设备的电池电量百分比。
在本申请的一实施例中,应用程序为电脑管家。上述计算方案可以通过电脑管家将电池状态数据上传到云端或服务器的大数据平台中。第二方面,本申请实施例提供一种终端设备,终端设备包括存储器和处理器:存储器,用于存储程序指令;处理器,用于读取并执行存储器中存储的程序指令,当程序指令被处理器执行时,使得终端设备执行上述电池状态数据上报方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有程序指令,当程序指令在终端设备上运行时,使得终端设备执行上述电池状态数据上报方法。
另外,第二方面至第三方面所带来的技术效果可参见上述方法部分各设计的方法相关的描述,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例提供的终端设备的系统结构框图。
图2为本申请一实施例提供的电池状态数据上报方法的流程图。
图3为本申请一实施例提供的存储打点字段中的数据的代码示意图。
图4为本申请一实施例中终端设备的数据交互示意图。
图5为本申请一实施例中电池状态数据上报方法的流程图。
图6为本申请另一实施例提供的存储打点字段中的数据的代码示意图。
图7为本申请一实施例提供的终端设备的示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。应理解,本申请中除非另有说明,“/”表示或的意思。例如,A/B可以表示A或B。本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B三种情况。“至少一个”是指一个或者多个。“多个”是指两个或多于两个。例如,a、b或c中的至少一个,可以表示:a,b,c,a和b,a和c,b和c,a、b和c七种情况。
相关技术中,在通过打点方案采集个人计算机(Personal Computer,PC)等终端设备的电池维测大数据的过程中,发现当电池电量掉为0%或电池异常(如电池温度过高或过低)时会触发PC的嵌入式控制器(Embedded Controller, EC)的强制关机事件使得PC进行倒计时关机,同时EC将该强制关机事件上报给PC的电脑管家。然而在PC关机的情况下,电脑管家也会退出,导致电脑管家无法将电池电量掉为0%或电池异常时的电池状态数据正常上报给云端或服务器,导致用户无法获知电池电量掉为0%或电池异常时的电池状态数据,造成用户无法获知终端设备的电池性能及对电池进行维测。
参考图1所示,为本申请一实施例提供的终端设备的系统结构框图。终端设备100包括嵌入式控制器(Embedded Controller,EC)10、基本输入输出系统(Basic InputOutput System,BIOS)20、操作系统(Operating System,OS)30。操作系统30中运行电脑管家31。嵌入式控制器10与基本输入输出系统20通信连接,基本输入输出系统20与操作系统30进行通信连接。嵌入式控制器10用于将强制关机事件发送给基本输入输出系统20。基本输入输出系统20响应强制关机事件,向操作系统30发送关机通知。操作系统30中的电脑管家31接收到关机通知后,获取电池状态数据,并将电池状态数据保存到本地eventinfo.log文件中。在终端设备在连网的时候将获取到的电池状态数据上传到云端或服务器的大数据平台中。
参考图2所示,为本申请一实施例提供的电池状态数据上报方法的流程图。图2示例的方法中执行一个或多个步骤,但不构成对本申请的限定。此外,所述方法的步骤的顺序仅作为示例,并且可以改变步骤的顺序。在不背离本申请公开的内容的情况下,可以增加额外的步骤或者可以减少步骤。所述方法具体包括如下步骤。
步骤S201,嵌入式控制器检测终端设备的工作状态以及工作模式,判断工作状态是否为开机状态以及判断工作模式是否为未连接到电源的工作模式。若终端设备的工作状态为开机状态且终端设备的工作模式为未连接到电源的工作模式,执行步骤S202。若终端设备的工作状态为关机状态或者终端设备的工作模式为连接到电源的工作模式,重复执行步骤S201,直至满足上述条件。
如下以终端设备为PC为例介绍本实施例中的电池状态数据上报方法的各个流程。在本申请的一实施例中,PC开机时,将特定的硬件信号(如高电平或低电平)发送到嵌入式控制器(例如图1中的嵌入式控制器10)的一个或多个通用输入输出(General PurposeInput/Output,GPIO)引脚。嵌入式控制器通过监测GPIO的一个或多个引脚的信号状态来判断PC是否为开机状态。在本申请的另一实施例中,嵌入式控制器可以通过读取PC的I/O的端口状态来判断PC是否为开机状态。
在本申请的一实施例中,嵌入式控制器通过监测PC的高级配置和电源接口(Advanced Configuration and Power Interface,ACPI)状态来判断PC的工作模式是否为连接到电源的工作模式。其中ACPI用于管理电源状态,如开机、关机、睡眠和唤醒等。嵌入式控制器通过通过读取ACPI的寄存器来确定PC的电源状态。例如,当PC连接到电源时,ACPI的寄存器的特定位会被设置为1;若PC未连接到电源,则特定位会被清零。嵌入式控制器通过读取和解析ACPI的寄存器中的特定位的值,可以得知PC是否连接到电源。
步骤S202,嵌入式控制器检测终端设备的电池电量是否为预设百分比。若检测终端设备的电池电量百分比为预设百分比,执行步骤S203,若检测终端设备的电池电量百分比不为预设百分比,执行步骤S201。
在本申请的一实施例中,根据公式:(电池电压-关机电压)/(满电电压-关机电压)*100%,可以计算得到PC的电池电量百分比,其中电池电压为嵌入式控制器通过模数转换器(ADC)对电池的电压进行采样得到的电压值,关机电压及满电电压为根据电池的类型预先设定的值,例如,对于锂电池,关机电压可设置为3.3V, 满电电压设定为4.2V。
在本申请的一实施例中,PC的电池电量百分比存储在电池电量寄存器,如BAT_RSOC寄存器中,BAT_RSOC寄存器的地址为0x39E。嵌入式控制器通过向BAT_RSOC寄存器写入特定的值可以读取电池电量百分比的值,例如,向BAT_RSOC寄存器写入0x276,然后再次读取BAT_RSOC寄存器的值,可以获取电池的剩余的电池电量百分比。
在本申请的一实施例中,预设百分比可以是0%,若PC的电池电量百分比为0%,则写入BAT_RSOC寄存器中的值为0。在其他实施例中,预设百分比还可以是预设范围,如0%至1%的范围,实际应用中不局限于此。
步骤S203,嵌入式控制器触发强制关机事件,进行计时,并向基本输入输出系统发送强制关机事件,并在计时时间达到预设条件后进行关机。
在本申请的一实施例中,若检测到PC的电池电量百分比为预设百分比,例如0%,嵌入式控制器触发强制关机事件,进行倒计时,同时向PC的基本输入输出系统(例如图1中的基本输入输出系统20)发送强制关机事件,并在倒计时结束(例如,计时达到零)后控制PC进行关机。在本申请的一实施例中,强制关机事件包括第一预设值,例如第一预设值为0xB4。
在本申请的一实施例中,若检测到PC的电池电量百分比为0%,则嵌入式控制器通过将0xA5C寄存器的bit4位设置为1,来指示PC的电池电量百分比为0%。
步骤S204,基本输入输出系统响应强制关机事件,向操作系统发送关机通知。
在本申请的一实施例中,PC的基本输入输出系统响应强制关机事件,向操作系统(例如图1中的操作系统30)发送关机通知。在本申请的一实施例中,关机通知包括第二预设值,例如第二预设值为0x299,第二预设值可用于指示嵌入式控制器触发强制关机事件。
在本申请的一实施例中,基本输入输出系统接收到强制关机事件时,通过RegistWmiNotify功能将强制关机事件对应的关机通知发送给操作系统。
步骤S205,操作系统中的应用程序接收到关机通知后,获取电池打点信息,其中电池的打点信息包括至少一电池状态数据。
在本申请的一实施例中,应用程序包括电脑管家。电脑管家接收到关机通知后,通过调用GetWmiPowerStatus接口函数获取电池打点信息。电池打点信息包括至少一打点字段信息,每一打点字段信息包括电池状态数据。在本申请的一实施例中,电池打点字段包括但不限于:电池温度字段、电池循环圈数字段、电池剩余电量的容量字段、电池电量百分比字段、电池电压字段、电池电流字段、电池满电容量字段。电池温度字段包括电池温度数据,电池循环圈数字段包括电池循环圈数数据,电池剩余电量的容量字段包括电池剩余电量数据,电池电量百分比字段包括电池电量百分比数据,电池电压字段包括电池电流数据,电池满电容量字段包括电池满电容量数据。在本申请的一实施例中,电池电量百分比字段中的电池电量百分比数据可以为0%。
步骤S206,应用程序将电池状态数据保存到本地文件中。
在本申请的一实施例中,本地文件为本地eventinfo.log文件中。在本申请的一实施例中,PC的电脑管家通过调用EventDataReport::Instance().SendMsg(msg)接口函数将电池状态数据保存到本地eventinfo.log文件中。
在本申请的一实施例中,电脑管家按照键值对的指令格式将所有打点字段中的数据进行存储。在本申请的一实施例中,键值对的指令格式可以为msg.keyValues类型的指令。参考图3所示,为本申请一实施例提供的通过msg.keyValues类型的指令存储打点字段中的数据的代码示意图。其中:
(BATTERY_CURRENT_ABNORMAL_BATTERYNTCTEMP,BiosWmi::Instance().GetbatteryStatus(GBAI_INDEX_BATTERYNTCTEMP)表示为电池温度字段对应的键值对;
(BATTERY_CURRENT_ABNORMAL_CIRCLECOUNT,BiosWmi::Instance().GetbatteryStatus(GBAI_INDEX_CIRCLECOUNT)表示为电池循环圈数字段对应的键值对;
(BATTERY_CURRENT_ABNORMAL_REMAINCAPACITY,BiosWmi::Instance().GetbatteryStatus(GBAI_INDEX_REMAINCAPACITY)表示为电池剩余电量的容量字段对应的键值对;
(BATTERY_CURRENT_ABNORMAL_RSOC, BiosWmi::Instance().GetbatteryStatus(GBAI_INDEX_SOC)表示为电池电量百分比字段对应的键值对;
(BATTERY_CURRENT_ABNORMAL_VOLTAGE_BATTERY0, std::to_string(HotInterface().GetVoltageBattery0())表示为电池电压字段的键值对;
(BATTERY_CURRENT_ABNORMAL_CURRENT_BATTERY0, std::to_string(HotInterface().GetCurrentBattery0())表示为电池电流字段的键值对;
(BATTERY_CURRENT_ABNORMAL_FULLCHARGECAPACITY,BiosWmi::Instance().GetbatteryStatus(GBAI_INDEX_FULLCHARGECAPACITY)表示为电池满电容量字段的键值对。
步骤S207,若检测到终端设备连接到网络,应用程序从本地文件中读取出电池状态数据,并将电池状态数据上传到云端或服务器的大数据平台中。
在本申请的一实施例中,在检测到终端设备连接到网络,电脑管家从本地eventinfo.log文件中读取出电池状态数据,并将电池状态数据上传到云端或服务器的大数据平台中,从而使得用户获知电池电量掉为0%时的电池状态数据,方便用户获知终端设备的电池性能及对电池进行维测。
在本申请的另一实施例中,步骤S202可以替换为:嵌入式控制器检测终端设备否出现电池异常事件。若检测到终端设备出现电池异常事件,执行步骤S203,若检测到终端设备未出现电池异常事件,执行步骤S201。在本申请的一实施例中,电池异常事件包括电池温度大于第一预设值或小于第二预设值。第一预设值大于第二预设值,且第一预设值与第二预设值可以根据设备的类型进行设置,例如,第一预设值为40℃,第二预设值为0℃。
在本申请的一实施例中,在步骤S203中,若检测到PC的电池异常事件,嵌入式控制器触发强制关机事件,进行倒计时,同时向PC的基本输入输出系统发送强制关机事件,并在倒计时结束后控制PC进行关机。
上述电池状态数据上报方法的方案中,由于嵌入式控制器触发强制关机事件时会进行计时关机,电脑管家在PC关机时,往往没有完成将电池状态数据保存到本地eventinfo.log文件中的操作,尤其是,电脑管家按照键值对的指令格式将电池状态数据存储到本地eventinfo.log文件时,需要的存储时间较长,电脑管家无法在PC关机时将电池状态数据保存到本地eventinfo.log文件中,导致电脑管家无法将电池电量掉为0%或电池异常时的电池状态数据正常上报给云端或服务器,从而导致用户无法根据电池电量掉为0%或电池异常时的电池状态数据,对电池进行维测。
为了解决上述问题,本申请提供一种电池状态数据上报方法,当电脑管家收到电池电量掉为0%或电池异常的通知信息后,创建一个本地存储文件,将需要上报的打点字段的电池状态数据全部存储在本地存储文件的一个字符串中,避免电池电量掉为0%或电池异常时触发PC关机导致电脑管家无法存储电池电量掉为0%或电池异常时的电池状态数据(即打点信息)。在下次PC重新开机启动时,电脑管家读取一次本地存储文件,并将电池状态数据保存在本地eventinfo.log文件中,并在PC连网的时候将电池状态数据上传到云端或服务器的大数据平台中。
参考图4所示,为本申请一实施例中终端设备进行数据交互的示意图。图4描述终端设备在电池电量掉为0%时的数据交互。终端设备在电池异常时的数据交互与图4的数据交互基本相同,这里仅以终端设备在电池电量掉为0%时的数据交互为例进行说明。嵌入式控制器在PC的工作状态为开机状态且PC的工作模式为未连接到电源的工作模式时,若检测到电池电量百分比为0%,则触发强制关机事件,进行倒计时,并在倒计时的计时时间达到零后,嵌入式控制器控制PC进行关机。嵌入式控制器在倒计时的同时,通过系统控制中断指令(System Control Interrupt,SCI)向基本输入输出系统发送强制关机事件,并将0xA5C寄存器的bit4位设置为1,以指示PC的电池电量百分比为0%。基本输入输出系统接收到强制关机事件时,通过RegistWmiNotify功能将强制关机事件对应的关机通知发送给操作系统。操作系统中的电脑管家根据关机通知,通过调用GetWmiPowerStatus接口函数获取电池打点信息,电池打点信息包括至少一打点字段信息,每一打点字段信息包括一个电池状态数据;电脑管家通过调用SaveNotifyIDmessage函数创建一个本地NotifyID.txt存储文件,并将所有打点字段信息存储在本地NotifyID.txt存储文件的一个字符串(String)字段中,以节省存储时间,从而使得电脑管家在PC关机时将所有打点字段信息对应的电池状态数据保存到本地NotifyID.txt存储文件中,并设置一个标志位,用于指示电脑管家是否将电池状态数据上传到云端或服务器的大数据平台中。
若标志位为True或1,则表示电脑管家未将电池状态数据上传到云端或服务器的大数据平台中,若标志位为False或0,则表示电脑管家已将电池状态数据上传到云端或服务器的大数据平台中。在下次PC重新开机启动时,电脑管家通过ReportRSOCToShotdown函数从本地NotifyID.txt存储文件中读取电池状态数据,并将电池状态数据保存到本地eventinfo.log文件中。电脑管家在PC连网的时候,若确定标志位为True或1,则将电池状态数据上传到云端或服务器的大数据平台中;若确定标志位为False或0,则将电池状态数据不上传到云端或服务器的大数据平台中,并删除本地NotifyID.txt存储文件。如此,电脑管家在PC关机前能够成功将电池电量掉为0%时的电池状态数据进行存储,并在PC下次重启开机时,按照标志位的指示将电池状态数据上传到云端或服务器的大数据平台中,从而解决电脑管家无法将电池电量掉为0%时的电池状态数据正常上报给云端或服务器的技术问题。
参考图5所示,为本申请一实施例中电池状态数据上报方法的流程图。如下结合图4-图5对本申请实施例中的电池状态数据上报方法的具体步骤进行描述。图5示例的方法中执行一个或多个步骤,但不构成对本申请的限定。此外,所述方法的步骤的顺序仅作为示例,并且可以改变步骤的顺序。在不背离本申请公开的内容的情况下,可以增加额外的步骤或者可以减少步骤。所述方法具体包括如下步骤。
步骤S501,嵌入式控制器检测终端设备的工作状态以及工作模式,判断工作状态是否为开机状态以及判断工作模式是否为未连接到电源的工作模式。若终端设备的工作状态为开机状态且终端设备的工作模式为未连接到电源的工作模式,执行步骤S502。若终端设备的工作状态为关机状态或者终端设备的工作模式为连接到电源的工作模式,重新执行步骤S501。
步骤S502,嵌入式控制器检测终端设备的电池电量是否为预设百分比。若检测终端设备的电池电量百分比为预设百分比,执行步骤S503,若检测终端设备的电池电量百分比不为预设百分比,执行步骤S501。在本申请的一实施例中,预设百分比可以是0%。
步骤S503,嵌入式控制器触发强制关机事件,进行计时,并向基本输入输出系统发送强制关机事件,并在计时时间达到预设条件后进行关机。
步骤S504,基本输入输出系统响应强制关机事件,向操作系统发送关机通知。
在本申请的一实施例中,基本输入输出系统接收到强制关机事件时,通过RegistWmiNotify功能将强制关机事件对应的关机通知发送给操作系统。
步骤S505,操作系统中的电脑管家接收到关机通知后,获取电池打点信息,其中电池打点信息包括至少一电池状态数据。
电脑管家接收到关机通知后,通过调用GetWmiPowerStatus接口函数获取电池打点信息。电池打点信息包括至少一打点字段信息,每一打点字段信息包括一个电池状态数据。
在本申请的一实施例中,步骤S501-S505的具体实施内容参考图2中关于步骤S201-S205的具体实现内容,这里不再重复描述。
步骤S506,电脑管家创建一个存储文件。
在本申请的一实施例中,电脑管家通过调用SaveNotifyIDmessage函数在PC中存储电脑管家的程序的存储路径下创建一个存储文件,所述存储文件可以为本地文本文件,例如本地NotifyID.txt存储文件。在本申请的一实施例中,本地NotifyID.txt存储文件的存储路径可以为“C:\\ProgramData\\Comms\\PCManager\\NotifyID.txt”。
步骤S507,电脑管家将所有电池状态数据存储在存储文件的一个字符串字段中,并设置标志位为初始值,其中初始值用于指示电脑管家将电池状态数据上传到云端或服务器的大数据平台中。
在本申请的一实施例中,电脑管家将电池打点信息中每一打点字段信息中的电池状态数据存储在本地NotifyID.txt存储文件的一个字符串字段中,不单独存储每一打点字段信息中的电池状态数据,如此可以有效节省电脑管家存储打点字段信息的存储时间,从而使得电脑管家在PC关机时能及时将所有打点字段信息对应的电池状态数据保存到本地NotifyID.txt存储文件中。本申请实施例中,电脑管家按照字符串数据类型将每一打点字段信息中的电池状态数据存储在一个字符串字段中,可以节约电脑管家存储电池状态数据的时间。参考图6所示,为本申请一实施例提供的电脑管家按照String数据类型存储打点字段中的数据的代码示意图。其中,BatteryNtctemp表示电池温度字段,Cyclecount表示电池循环圈数字段,RemainCapacity表示电池剩余电量的容量字段,RSOC表示电池电量百分比字段,Voltage_Battery0表示电池电压字段,Current_Battery0表示电池电流字段,FullChargeCapacity表示电池满电容量字段。
在本申请的一实施例中,电脑管家将标志位设置为初始值,例如,初始值可以为True或1,用于指示电脑管家将电池状态数据上传到云端或服务器的大数据平台中。
步骤S508,电脑管家判断在终端设备关机前是否将电池状态数据上传到云端或服务器的大数据平台中。若电脑管家在终端设备关机前将电池状态数据上传到云端或服务器的大数据平台中,执行步骤S509,否则若电脑管家在终端设备关机前未将电池状态数据上传到云端或服务器的大数据平台中,执行步骤S510。
步骤S509,将标志位由初始值变更为更新值,更新值用于指示电脑管家已将电池状态数据上传到云端或服务器的大数据平台中。
在本申请的一实施例中,若电脑管家在终端设备关机前将电池状态数据上传到云端或服务器的大数据平台中,则说明说明电脑管家已成功将电池电量掉为0%时的电池状态数据上传到云端或服务器的大数据平台中,电脑管家将标志位由初始值变更为更新值,例如,将标志位由True变更为False,或将标志位由初始值由1变更为0,以指示电脑管家已将电池状态数据上传到云端或服务器的大数据平台中。
步骤S510,若检测到终端设备重新开机启动,电脑管家从存储文件中读取电池状态数据。
在本申请的一实施例中,在检测到PC重新开机启动时,电脑管家通过ReportRSOCToShotdown函数从本地NotifyID.txt存储文件中读取电池状态数据。
步骤S511,电脑管家判断存储文件是否存在,及标志位是否为初始值。若电脑管家判断存储文件存在,且标志位为初始值,执行步骤S512。若电脑管家判断存储文件不存在或标志位为更新值,执行步骤S515。
步骤S512,电脑管家将读取的电池状态数据保存到中间存储文件NotifyIDMessage中。
在本申请的一实施例中,电脑管家将从本地NotifyID.txt存储文件中读取电池状态数据存储在中间存储文件NotifyIDMessage中。
步骤S513,电脑管家从中间存储文件NotifyIDMessage中读取电池状态数据,并将读取的电池状态数据保存到本地eventinfo.log文件中。
在本申请的一实施例中,电脑管家从中间存储文件NotifyIDMessage中读取电池状态数据后,通过调用EventDataReport::Instance().SendMsg(msg)接口函数将读取的电池状态数据保存到本地eventinfo.log文件中。
在本申请的一实施例中,步骤S512及步骤S513可以替换为步骤:将从本地NotifyID.txt存储文件中读取电池状态数据保存到本地eventinfo.log文件中。
步骤S514,若检测到终端设备连网,电脑管家从本地eventinfo.log文件中读取出电池状态数据,并将电池状态数据上传到云端或服务器的大数据平台中,将标志位由初始值变更为更新值,并删除存储文件。
在本申请的一实施例中,电脑管家将电池状态数据上传到云端或服务器的大数据平台后,若标志位的初始值为True,则将标志位变更为False,若标志位的初始值为1,则将标志位变更为0。
在本申请的一实施例中,电脑管家按照预设上报格式将电池状态数据上传到云端或服务器的大数据平台中。预设上报格式表示如下:{"TESTTYPE":"","MSGTYPE":"6","BATTERYSTATUS":"BatteryNTCTemp:29,CycleCount:52,RemainCapacity:22,RSOC:1,Voltage_Battery0:14091,Current_Battery0:-482,FullChargeCapacity:4480, Time:20230823233608","FILETYPE":"L"}。其中,TESTTYPE表示为数据上报的测试类型;MSGTYPE表示为测试类型为电池维测测试类型;BATTERYSTATUS表示为电池状态数据字段;BatteryNtctemp表示电池温度字段,Cyclecount表示电池循环圈数字段,RemainCapacity表示电池剩余电量的容量字段,RSOC表示电池电量百分比字段,Voltage_Battery0表示电池电压字段,Current_Battery0表示电池电流字段,FullChargeCapacity表示电池满电容量字段;Time表示时间字段;FILETYPE表示文件类型。
步骤S515,电脑管家不将电池状态数据上传到云端或服务器的大数据平台中。
在本申请的一实施例中,所述方法还包括:若确定本地NotifyID.txt存储文件存在,且标志位不为初始值(例如,标志位为更新值),则电脑管家不将电池状态数据上传到云端或服务器的大数据平台中,并且删除本地NotifyID.txt存储文件。
在本申请的另一实施例中,步骤S502可以替换为:嵌入式控制器检测终端设备否出现电池异常事件。若检测到终端设备出现电池异常事件,执行步骤S503,若检测到终端设备未出现电池异常事件,执行步骤S501。
上述技术方案中,若确定标志位为初始值,则将电池状态数据上传到云端或服务器的大数据平台中;若确定标志位为更新值,则将电池状态数据不上传到云端或服务器的大数据平台中,并删除本地NotifyID.txt存储文件。如此,电脑管家在PC关机前能够成功将电池电量掉为0%或电池异常时的电池状态数据进行存储,并在PC下次重启开机时,按照标志位的指示将电池状态数据上传到云端或服务器的大数据平台中,从而解决电脑管家无法将电池电量掉为0%时的电池状态数据正常上报给云端或服务器的技术问题。
下面对本申请实施例涉及的终端设备100进行介绍。
参考图7所示,为本申请一实施例提供的终端设备100的硬件结构示意图。终端设备100可以包括处理器110,内部存储器130,外部存储器接口120,显示屏140,及传感器模块150。其中传感器模块150可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
可以理解的是,本发明实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器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)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
终端设备100通过GPU,显示屏140,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏140和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏140用于显示图像,视频等。显示屏140包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flexible light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏140,N为大于1的正整数。
内部存储器130可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamicrandom access memory,DRAM)、同步动态随机存储器(synchronous dynamic randomaccess memory, SDRAM)、双倍资料率同步动态随机存取存储器(double data ratesynchronous 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)等,按照存储规范划分可以包括通用闪存存储(英文:universalflash storage,UFS)、嵌入式多媒体存储卡(embedded multi mediaCard, eMMC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展终端设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
内部存储器130或外部存储器接口120用于存储一个或多个计算机程序。一个或多个计算机程序被配置为被该处理器110执行。该一个或多个计算机程序包括多个指令,多个指令被处理器110执行时,可实现上述实施例中在终端设备100上执行的电池状态数据上报方法,以实现终端设备100的电池状态数据上报功能。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的电池状态数据上报方法。
另外,本申请的一些实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的电池状态数据上报方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请的一些实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用以说明本申请的技术方案而非限制,尽管参照以上较佳实施方式对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换都不应脱离本申请技术方案的精神和范围。
Claims (14)
1.一种电池状态数据上报方法,应用于终端设备中,所述终端设备包括嵌入式控制器及操作系统,其特征在于,所述方法包括:
若检测到所述终端设备的电池电量为预设百分比或所述终端设备出现电池异常事件,所述嵌入式控制器触发强制关机事件,所述嵌入式控制器进行计时,并在计时时间达到预设条件后进行关机;
所述操作系统的应用程序根据所述强制关机事件,获取电池打点信息,其中所述电池打点信息包括至少一电池状态数据;
所述应用程序创建存储文件,并按照字符串数据类型将所述至少一电池状态数据存储在所述存储文件的字符串字段中,所述存储文件为本地文本文件;
若检测到所述终端设备重新开机,所述应用程序从所述存储文件中读取所有电池状态数据,并将读取的电池状态数据保存到本地文件中,所述本地文件为本地log文件;
若检测到所述终端设备连网,所述应用程序从所述本地文件中读取出所有电池状态数据,并将所有电池状态数据上传到云端或服务器的大数据平台中。
2.如权利要求1所述的电池状态数据上报方法,其特征在于,所述操作系统的应用程序根据所述强制关机事件,获取电池打点信息,包括:
在触发所述强制关机事件的情况下,向所述终端设备的基本输入输出系统发送强制关机事件;
所述基本输入输出系统响应所述强制关机事件,向所述操作系统发送关机通知;
所述应用程序根据所述关机通知,获取所述电池打点信息。
3.如权利要求1所述的电池状态数据上报方法,其特征在于,所述电池打点信息包括至少一打点字段信息,每一打点字段信息包括一个电池状态数据,所述将所述至少一电池状态数据存储在所述存储文件的字符串字段中包括:
按照字符串的数据类型将每一打点字段信息中的电池状态数据存储在所述字符串字段中。
4.如权利要求1所述的电池状态数据上报方法,其特征在于,在将所述至少一电池状态数据存储在所述存储文件的字符串字段中之后,所述方法还包括:
所述应用程序设置一标志位为初始值,所述初始值用于指示所述应用程序将所述至少一电池状态数据上传到云端或服务器的大数据平台中;
若确定在所述终端设备关机前将所述至少一电池状态数据上传到云端或服务器的大数据平台后,所述应用程序将所述标志位由所述初始值变更为更新值,所述更新值用于指示所述应用程序已将所述至少一电池状态数据上传到云端或服务器的大数据平台中。
5.如权利要求4所述的电池状态数据上报方法,其特征在于,所述应用程序从所述存储文件中读取所有电池状态数据,并将读取的电池状态数据保存到本地文件中,包括:
若确定所述存储文件存在,且所述标志位为所述初始值,将读取的电池状态数据保存到中间存储文件中;
从所述中间存储文件中读取电池状态数据,并将所述读取的电池状态数据保存到所述本地文件中。
6.如权利要求4所述的电池状态数据上报方法,其特征在于,所述应用程序从所述存储文件中读取所有电池状态数据包括:
若确定所述存储文件存在,且所述标志位为所述更新值,所述应用程序不将所述至少一电池状态数据上传到云端或服务器的大数据平台中,并删除所述存储文件。
7.如权利要求1至6中任一项所述的电池状态数据上报方法,其特征在于,所述应用程序创建一个存储文件包括:
所述应用程序通过调用SaveNotifyIDmessage函数在所述终端中存储所述应用程序的程序的存储路径下创建所述存储文件。
8.如权利要求1至5中任一项所述的电池状态数据上报方法,其特征在于,所述将读取的电池状态数据保存到本地文件中包括:
所述应用程序通过调用EventDataReport::Instance().SendMsg(msg)接口函数,将所述读取的电池状态数据保存到所述本地文件中。
9.如权利要求1至5中任一项所述的电池状态数据上报方法,其特征在于,在将所述所有电池状态数据上传到云端或服务器的大数据平台中之后,所述方法还包括:
删除所述存储文件。
10.如权利要求1至6中任一项所述的电池状态数据上报方法,其特征在于,所述获取电池打点信息包括:
所述应用程序通过调用GetWmiPowerStatus接口函数获取所述电池打点信息。
11.如权利要求1至6中任一项所述的电池状态数据上报方法,其特征在于,所述方法还包括:
所述嵌入式控制器在所述终端设备的工作状态为开机状态及所述终端设备的工作模式为未连接到电源的工作模式时,检测所述终端设备的电池电量百分比。
12.如权利要求1至6中任一项所述的电池状态数据上报方法,其特征在于,所述应用程序为电脑管家。
13.一种终端设备,其特征在于,所述终端设备包括存储器和处理器:
所述存储器,用于存储程序指令;
所述处理器,用于读取并执行所述存储器中存储的所述程序指令,当所述程序指令被所述处理器执行时,使得所述终端设备执行如权利要求1至12中任一项所述的电池状态数据上报方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序指令,当所述程序指令在终端设备上运行时,使得终端设备执行如权利要求1至12中任一项所述的电池状态数据上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311699404.XA CN117395544B (zh) | 2023-12-12 | 2023-12-12 | 电池状态数据上报方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311699404.XA CN117395544B (zh) | 2023-12-12 | 2023-12-12 | 电池状态数据上报方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117395544A CN117395544A (zh) | 2024-01-12 |
CN117395544B true CN117395544B (zh) | 2024-05-07 |
Family
ID=89467098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311699404.XA Active CN117395544B (zh) | 2023-12-12 | 2023-12-12 | 电池状态数据上报方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117395544B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097539A (zh) * | 2006-06-30 | 2008-01-02 | 联想(北京)有限公司 | 一种移动存储设备的数据拷贝装置与方法 |
CN101201756A (zh) * | 2006-12-11 | 2008-06-18 | 深圳市顶星数码网络技术有限公司 | 非正常上电和关机故障侦测方法 |
CN105759211A (zh) * | 2014-12-19 | 2016-07-13 | 宇龙计算机通信科技(深圳)有限公司 | 电池剩余电量值显示方法和系统 |
CN108021735A (zh) * | 2017-11-07 | 2018-05-11 | 上海科梁信息工程股份有限公司 | 电池的模拟方法、上位机、实时仿真机及电池模拟系统 |
CN110806794A (zh) * | 2019-10-10 | 2020-02-18 | 浙江大华技术股份有限公司 | 存储系统的掉电保护方法、系统、计算机设备以及介质 |
CN113312106A (zh) * | 2021-06-10 | 2021-08-27 | 浙江网商银行股份有限公司 | 数据处理方法及装置 |
CN115225983A (zh) * | 2022-07-18 | 2022-10-21 | Oppo广东移动通信有限公司 | 电池数据上报方法、装置、存储介质与电子设备 |
CN115498295A (zh) * | 2022-09-23 | 2022-12-20 | 深圳市正浩创新科技股份有限公司 | 荷电状态检测方法、装置、储能设备以及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017206064A1 (zh) * | 2016-05-31 | 2017-12-07 | 深圳市大疆创新科技有限公司 | 电池的控制方法及系统、智能电池、可移动平台 |
-
2023
- 2023-12-12 CN CN202311699404.XA patent/CN117395544B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097539A (zh) * | 2006-06-30 | 2008-01-02 | 联想(北京)有限公司 | 一种移动存储设备的数据拷贝装置与方法 |
CN101201756A (zh) * | 2006-12-11 | 2008-06-18 | 深圳市顶星数码网络技术有限公司 | 非正常上电和关机故障侦测方法 |
CN105759211A (zh) * | 2014-12-19 | 2016-07-13 | 宇龙计算机通信科技(深圳)有限公司 | 电池剩余电量值显示方法和系统 |
CN108021735A (zh) * | 2017-11-07 | 2018-05-11 | 上海科梁信息工程股份有限公司 | 电池的模拟方法、上位机、实时仿真机及电池模拟系统 |
CN110806794A (zh) * | 2019-10-10 | 2020-02-18 | 浙江大华技术股份有限公司 | 存储系统的掉电保护方法、系统、计算机设备以及介质 |
CN113312106A (zh) * | 2021-06-10 | 2021-08-27 | 浙江网商银行股份有限公司 | 数据处理方法及装置 |
CN115225983A (zh) * | 2022-07-18 | 2022-10-21 | Oppo广东移动通信有限公司 | 电池数据上报方法、装置、存储介质与电子设备 |
CN115498295A (zh) * | 2022-09-23 | 2022-12-20 | 深圳市正浩创新科技股份有限公司 | 荷电状态检测方法、装置、储能设备以及介质 |
Non-Patent Citations (1)
Title |
---|
安卓智能手机功耗管理评测机制的研究;李建州;《中国优秀硕士学位论文全文数据库》;20141115;1-66 * |
Also Published As
Publication number | Publication date |
---|---|
CN117395544A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10007507B2 (en) | Method for updating firmware of a battery included in a rechargeable battery module, portable electronic device, and rechargeable battery module | |
US11372472B2 (en) | System on chip for reducing wake-up time, method of operating same, and computer system including same | |
US9037812B2 (en) | Method, apparatus and system for memory validation | |
US7869835B1 (en) | Method and system for pre-loading and executing computer instructions within the cache memory | |
KR101862112B1 (ko) | 비휘발성 메모리(nvm) 기술 기반 메모리의 부팅 시간 제로화의 가속화 | |
WO2011063584A1 (zh) | 嵌入式系统的深度休眠方法与装置 | |
US9996398B2 (en) | Application processor and system on chip | |
US10089182B2 (en) | Energy-efficient nonvolatile microprocessor | |
WO2023109300A1 (zh) | 一种电量校准方法、电子设备及存储介质 | |
US10338832B2 (en) | Power efficient method and system for executing host data processing tasks during data retention operations in a storage device | |
US11693567B2 (en) | Memory performance optimization method, memory control circuit unit and memory storage device | |
CN1641573A (zh) | 一种实现快速开机的方法及装置 | |
CN117395544B (zh) | 电池状态数据上报方法、终端设备及存储介质 | |
CN112230962B (zh) | 一种用于处理器平台的bios配置保存方法及系统 | |
BR102014004605A2 (pt) | circuito integrado e processo em um circuito integrado | |
TW201327160A (zh) | 於休眠機制之方法及其電腦系統 | |
CN114137881B (zh) | 一种芯片唤醒装置、方法及其介质 | |
US10983713B2 (en) | Energy optimized power state declarations for solid state drives | |
US8897093B2 (en) | Controlling method of connector, connector, and memory storage device | |
CN110618784B (zh) | 数据存储装置及其操作方法 | |
WO2020113469A1 (zh) | 开机检测方法、开机检测装置及移动终端 | |
CN113467698A (zh) | 基于文件系统的写方法、装置、计算机设备和存储介质 | |
CN113345500A (zh) | 用来进行恢复管理的方法及设备 | |
CN116737488B (zh) | 一种参数监控方法及电子设备 | |
TWI828391B (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 |