给电子合同“按指纹”203所将提供权威可信时间戳
随着信息技术的发展,权威可信的时间戳在实际生活中应用越来越广泛。时间戳解决了在什么时间存在什么数据的问题,可以通过它为每个电子合同生成一个对应的“指纹”。
203所时间戳系统采用我国国防标准时间源,并由守时系统与时间监控系统保证时间源准确性与权威性,同时通过加密技术,使得时间戳具备不可篡改性。此系统将覆盖于电子商务、电子政务的各行各业,并为其发展提供了安全技术保障。

所谓时间戳作为一个电子证书,用于证明电子证据在一个固定时间点已经存在,而且内容保持完整,没有被篡改。解决了电子证据认定过程中,对电子数据文件是否被篡改、伪造、产生时间确定性的质疑。它能有效、客观、可靠地证明电子文件产生的准确时间。时间戳具有价格便宜、操作简单的特点,调取一份的时间在一秒之内。广泛应用于司法、电子商务、医疗卫生、金融等行业,是电子合同、电子单据等电子数据原始性认证。
在电子商务领域,与数字身份证结合使用,对文档进行数字签名,同时确认签名的准确时间,以此降低无效签名的可能性;在知识产权领域,通过作品权的归属,对文字作品、图像照片、影音等进行版权保护;在医疗司法领域,通过固化电子证据,防止电子证据被篡改与伪造,保护数据文件的归属,确保文档具有法律效力。
203所是国防最高时间频率计量标准建立和保持单位,是量值溯源的源头。其时间溯源到国际标准时间,为“时间戳”服务提供了法定标准时间;同时“时间戳”服务器通过了国家密码管理局的认证,保证了时间服务的安全性和唯一性。
近年来,203所致力于计量标准及其配套设备的自主研发,不断开拓时频服务领域。今后,203所将“时间戳”应用于航天云网,即中国最大的工业互联网服务,更好的服务国家产业经济建设。
(吴巍、袁媛)
普通APP与鸿蒙APP性能测试对比(上)
前言:
普通APP的测试与鸿蒙APP的测试有一些共同的特征,但是也有一些区别,其中共同特征是,它们都可以通过cmd的命令提示符工具来进行app的性能测试。
其中区别主要是,对于稳定性测试的命令的区别,性能指标获取方式的命令的区别,安装的命令,卸载的命令,等等。此外,鸿蒙APP还有一个专项测试。
这篇文章就将普通APP的测试方法以及鸿蒙APP的测试的方法进行一定程度的梳理。希望能从中发现一些共通点。
这篇文章作为鸿蒙APP以及安卓APP的第一篇总结性文章,将带着以下问题进行展开:
1:什么是hdc? 什么是adb?
2:adb的shell命令可以用在鸿蒙hdc 的shell上面吗?
3:adb的性能测试的日志文件与hdc的性能测试的日志一样吗?
对于五类性能测试的方法及其log的主要分析。这五类的方法分别是: hdc稳定性测试,hdc性能测试,hdc专项测试,adb稳定性测试,adb性能测试。
4:鸿蒙的包名的格式和安卓的包名的格式一样吗?
带着以上的疑问我将写一篇相关的文章,同时,此次测试的鸿蒙官方文档的出处 以及测试的心得 也将列出来。
本文很多的描述都是来自 <文心快码>等AI搜索生成。
第一部分 普通APP的测试详细步骤
第一步 打开 uiautomatorviewer.bat 作为元素定位的工具

查看快捷方式的指向
C:\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\tools\uiautomatorviewer.bat

第二步 打开APPIUM


第三步 点击 “Start Server”

第四步 打开模拟器

第五步 打开CMD 运行adb devices 查看连接设备的情况,此时显示没有匹配的客户端

第六步 运行 adb connect 127.0.0.1:7555
连接到模拟器 :在命令行中输入adb connect 127.0.0.1:7555。
127.0.0.1代表本地计算机,而7555是模拟器的端口号。

第七步 再次运行 adb devices

第八步 使用pycharm工具运行最基本的python命令查看是否可以正常启动APPIUM

第九步 常用的adb命令的演示
1)包名查询
获取当前焦点窗口的信息: adb shell dumpsys window | findstr mCurrentFocus

列出所有已安装的应用程序包: adb shell pm list packages
adb shell pm list packages命令还可以使用一些选项。例如:
-f选项:列出应用程序包的完整路径。-3选项:仅列出第三方(非系统)应用程序包。
2)日志收集之: adb logcat
adb logcat命令的主要作用是捕获和显示Android设备的日志信息。这些日志信息包括系统日志、应用日志、错误日志等 。
app中任何操作的日志情况都会在adb logcat的日志中显示。
比如打开 “设置”组件等操作,都会实时地更新adb logcat的日志信息。


3)adb的文件传输命令
adb push
将本地的文件传送到模拟器中
adb push C:\app\test.apk /sdcard/

adb pull
将模拟器中的文件传送到本地
adb pull /sdcard/test.apk C:\app\

4)adb的安装 卸载命令
卸载软件
adb uninstall <name of apk with com>
安装软件
adb install apkname.apk

5)启动app,停止app
adb shell am start <name of apk with com/Activity>
adb shell am force-stop <name of apk with com>
6)稳定性测试- 点击600次 并保存到某个log中
adb shell monkey -p <name of apk with com> -v -v 600命令是Android开发中常用的一条命令行指令,它主要用于对指定的Android应用进行压力测试。
解释如下:
adb shell :用于在连接的Android设备上执行shell命令。monkey :用于向系统发送伪随机的用户输入事件流(如点击、触摸、手势等)-p <name of apk with com>:这个选项指定了要测试的应用的包名。-v -v :设置日志的详细程度。 -v -v则表示启用比-v更详细的日志输出。600 :这个数字表示monkey工具将发送的事件的数量。在这个例子中,monkey工具将向<name of apk with com>应用发送600个伪随机的用户输入事件。检查日志中是否有异常的关键词,并提取相关日志给开发
常见的关键字
ANR问题(应用无响应) :关键词:ANR、anr in闪退问题 :关键词:crash异常 :关键词:exception强制退出 :关键词:force closed其他常见异常类型
算术异常 :ArithmeticException空指针异常 :NullPointerException类型强制转换异常 :ClassCastException数组负下标异常 :NegativeArrayException数组下标越界异常 :ArrayIndexOutOfBoundsException违背安全原则异常 :SecurityException文件已结束异常 :EOFException文件未找到异常 :FileNotFoundException字符串转换为数字异常 :NumberFormatException操作数据库异常 :SQLException输入输出异常 :IOException违法访问错误 :IllegalAccessError内存不足错误 :OutOfMemoryError堆栈溢出错误 :StackOverflowError7)稳定性测试 让 -v的次数变动查看log的变化
--pct-touch <percent>指定了触摸事件在所有生成的事件中所占的百分比。例如,如果你设置--pct-touch 87,那么在执行测试时,大约87%的事件将是触摸事件。
以下命令是 pct-touch 的概率是百分之百,发送600个伪随机的用户输入事件,间隔时间为300毫秒
adb shell monkey -p <name of apk with com> --pct-touch 100 --throttle 300 -v 600 > C:\Users\test\Desktop\0228\v\-v\v.log
adb shell monkey -p <name of apk with com> --pct-touch 100 --throttle 300 -v -v 600 > C:\Users\test\Desktop\0228\v\-v-v\vv.log
比对 -v的 log 与 -v -v 的log之间的区别:
目前发现 -v-v的日志中含有
Sleeping for 300 milliseconds
但是 -v的日志中是没有Sleeping for 300 milliseconds的

除了--pct-touch 之外,还有,--pct-motion <percent> (滑动事件生成百分比) 等参数。
8)性能测试之内存查询
adb shell dumpsys meminfo命令用于获取Android设备上指定进程的内存使用情况。当你附加一个应用包名(如name of apk with com)作为参数时,它会返回该应用的内存使用信息。

关键指标
PSS (Proportional Set Size) : 表示进程独占的内存页的数量,考虑到共享库 的内存占用。RSS (Resident Set Size) : 表示进程实际占用的物理内存大小。OutOfMemoryError : 如果应用显示内存不足错误,需要进一步分析是哪个部分的内存使用过高。如果要查询系统的内存信息则是
adb shell cat /proc/meminfo
9)性能测试之cpu查询
adb shell dumpsys cpuinfo
可以获取当前CPU的使用情况,帮助分析CPU的性能瓶颈,找出占用资源较多的进程进行优化。
对于以下的命令输出的详细解释如下
1.7% 1590/m.mumu.launcher: 1.3% user + 0.3% kernel / faults: 5056 minor 28 major
这段信息是从adb shell dumpsys cpuinfo命令的输出中提取的,它提供了关于特定进程CPU使用情况的详细信息。下面是对这段信息的详细解释:
1.7% :这是进程m.mumu.launcher的总体CPU使用率。它表示该进程在当前采样时间范围内占用了CPU总时间的1.7%。这个数值是用户态使用率和内核态使用率之和的一个总体反映。1590/m.mumu.launcher :这里的1590是进程的ID(PID),而m.mumu.launcher是进程名。这个信息告诉你哪个进程正在使用CPU资源。1.3% user :这是进程在用户态下的CPU使用率。用户态是指进程执行用户级代码时的状态,如应用程序的逻辑处理部分。1.3%的用户态使用率表示进程在执行用户级代码时占用了CPU总时间的1.3%。0.3% kernel :这是进程在内核态下的CPU使用率。内核态是指进程执行内核级代码时的状态,如系统调用、中断处理等。0.3%的内核态使用率表示进程在执行内核级代码时占用了CPU总时间的0.3%。faults: 5056 minor 28 major :这里的faults表示进程在执行过程中遇到的页错误(page faults)数量。页错误是指进程试图访问其虚拟内存空间中尚未映射到物理内存的地址时发生的情况。5056 minor表示发生了5056次轻微页错误,这通常是由于进程的工作集(working set)超出了物理内存的大小,但操作系统能够通过将部分内存页换出到磁盘来解决这些问题,而不会导致进程被阻塞。28 major表示发生了28次主要页错误,这通常是由于进程试图访问已被换出到磁盘的内存页,导致操作系统必须等待磁盘I/O操作完成才能继续执行进程,这可能会导致性能下降。对于性能分析来说,这些信息非常有用:
总体CPU使用率可以帮助你了解进程是否占用了过多的CPU资源,从而可能影响到系统的整体性能。用户态和内核态的使用率可以帮助你判断进程的性能瓶颈是在用户级代码还是内核级代码上。页错误数量,特别是主要页错误数量,可以帮助你了解进程的内存使用情况,以及是否存在内存不足或内存访问模式不佳导致的性能问题。综上所述,这段信息提供了关于进程CPU使用情况的详细信息,对于性能分析和优化非常有帮助。
<以上解释参考自文心快码>
如果要查询系统的cpu信息用的命令是
adb shell cat /proc/cpuinfo
10)性能测试之top命令
top: adb shell top | findstr <key word of process name>
此命令可以实时刷新 top的数值内容


以下是top命令的详细分析
对于以下的命令输出的详细解释如下
2374 u0_a41 10 -10 28G 203M 130M S 3.8 5.1 0:24.27 com.test +
这段文本提供了关于Android系统中一个进程的详细信息。下面是对各个字段的具体解释:
2374 :这是进程的ID(PID),它是系统为每个进程分配的唯一标识符。通过这个ID,你可以对进程进行各种操作,如查看详细信息、终止进程等。u0_a41 :这是进程的用户ID。在Android系统中,每个应用和用户都有对应的用户ID。这里的u0通常表示第一个用户(即主用户),a41是该用户下的应用ID。这个ID用于系统权限控制和资源隔离。10 -10 :这两个数字通常表示进程的优先级和调度策略。不过,在这个上下文中,它们的具体含义可能因Android版本和厂商定制而有所不同。一般来说,较高的数字可能表示较高的优先级。但这里的-10可能是一个特殊的调度策略或优先级调整值。28G 203M 130M :这些数字表示进程的内存使用情况。28G可能是指系统总的可用内存(尽管这个值在这里可能不太准确,因为通常进程信息中不会显示系统总内存),203M表示进程当前使用的内存大小,130M可能表示进程使用的某种特定类型的内存(如Dalvik堆内存、Native堆内存等)的大小。不过,具体的内存类型需要根据Android版本和厂商定制来确定。注意 :这里的28G很可能是一个误解或错误,因为单个进程的内存使用情况通常不会以整个系统的内存总量来表示。更可能的是,这里显示的是某种内存统计信息的格式错误或混淆。
S :这是进程的状态码。在Android系统中,进程状态码通常表示进程的当前状态,如R(运行中)、S(睡眠中)、D(不可中断的睡眠状态)、T(跟踪/停止状态)等。S状态表示进程正在睡眠中,等待某个事件或资源。3.8 5.1 :第一个数字(3.8%)可能是指进程在过去某个时间窗口内的用户态CPU使用率,第二个数字(5.1%)是某个进程的内存利用率0:24.27 :这表示进程自启动以来已经占用的CPU时间,格式为小时:分钟.秒。在这个例子中,进程已经占用了大约0小时24分钟27秒的CPU时间。com.test :这是进程的名称,通常与应用的包名相对应。在这个例子中,进程名称是com.test,综上所述,这段文本提供了关于Android系统中一个进程的详细信息,包括进程ID、用户ID、内存使用、CPU使用率、进程状态等。这些信息对于理解进程的当前状态、进行性能分析或故障排查非常有帮助。不过,请注意,某些字段的具体含义可能因Android版本和厂商定制而有所不同。
<以上解释参考自文心快码>
11)性能测试之流量查询
以下是运用adb进行流量测试的详细步骤:
一、获取应用的进程号
首先,你需要获取目标应用的进程ID(pid)。这可以通过以下命令实现:
adb shell ps | findstr <key word of process name>

获得 com.android.settings 的进程号为 4293
二、查看应用流量情况
使用上一步的进程号来查看该应用的流量使用情况:
adb shell cat /proc/<pid number>/net/dev
执行该命令后,你将看到与该应用相关的网络流量数据。这些数据包括接收(Recv)和发送(Transmit)的字节数、包数、错误数和丢弃数等。

ip6tnl0 是Linux系统中用于IPv6隧道的网络接口 wlan0代表设备上的第一个无线网络接口,它主要负责Wi-Fi通信 sit0 是一个在Linux系统中出现的特殊网络接口,它属于sit(Simple Internet Transition)设备的一种。 lo代表本地回环接口(Loopback Interface)以下命令可以用来获取更详细的网络流量统计信息:
adb shell dumpsys netstats detail
三、计算使用流量
比较两次连续操作性能测试流量数值的区别,从而得到某一段时间内的流量使用情况。
经过研究,鸿蒙是不支持 dumpsys的
相关问答
word2007中的公式经过用了WPS之后,在Word上就显示不出来了,应...
实际上,WORD2007本身并不直接支持打开保存为WORD203版本的文档,如果需要编辑这些文件,则需要额外安装一个兼容包。然而,在这方面,WPS表现出色。它深度兼容了W...
android手机如何打开.STEP文件-ZOL问答
你要用杀毒软件进行一下杀毒.因为如果你那个文件不是安装在C盘或是系统盘之下的.那么它就可能又会复活.新建一个UG模型文档,然后导入stp203文档是的,重装后就...
means、meaning、mean的区别_作业帮
[回答]means是集合名词,意为,方法手段,途径,谓语动词用单数meaning是名词,意为,意思,意义,当然这是最常见的,还有意味深长的意思meaningful在表示意味深长...
word和excel的默认格式是什么?-懂得
如果觉的我答案有用,请点赞。比如word默认为docx,excel默认为xslx
关于文字编辑的问题.-zhaojian203的回答-懂得
1、为文档插入页码后,在第10页文字的末尾点一下鼠标左键,使光标在第10页与第11页之间。2、选择菜单中的“插入”-“分隔符”,点“分节符”下的“连...
建安企业有全资子公司,该怎么填写报告企业信息表_会计学堂
企业高级管理人员信息、企业主要股东信息情况等部分。企业填写报告企业信息表...203员工数量和400企业股东信息(前五位)与《中华人民共和国企业所得税年度纳税...
生活中常见的英语_作业帮
[回答]没有比这更齐全的,你不给加分没有天理背完这444句,你英语口语就没问题了(太长了,尾巴就不要了)1.Isee.我明白了.2.Iquit!我不干了!3.Let...
c类地址哪几个不能用?
C类地址,最高的3位是110,随后的21位是网络地址,最后8位是本地地址。范围从192.0.0.0到233.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。一...
比较大小:-23______-32(填“<”或“=”或“>”)_作业帮
23=22×3=12,32=18,∵12<18,∴-23>-3作业帮用户2017-11-13举报打开作业帮,更多回答其他回答问老师广告问题解析根据根式的性质把根号外得因式移...
"三级钢筋"的表示符号是什么?
HPB235钢筋符号:在word中先输入E000,然后按住ALT键,同时按下X键;HRB335钢筋符号:在word中先输入E001,然后按住ALT键,同时按下X键;HRB400钢筋符号:在wo.....