CN117520283A - 存储系统顺序一致性的验证方法、装置及存储介质 - Google Patents
存储系统顺序一致性的验证方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117520283A CN117520283A CN202311493863.2A CN202311493863A CN117520283A CN 117520283 A CN117520283 A CN 117520283A CN 202311493863 A CN202311493863 A CN 202311493863A CN 117520283 A CN117520283 A CN 117520283A
- Authority
- CN
- China
- Prior art keywords
- storage system
- directed graph
- log file
- sequence
- consistency
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000012512 characterization method Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供的一种存储系统顺序一致性的验证方法、装置及存储介质,涉及存储系统技术领域。该方法通过基于预设代码文件,对存储系统中的基本元素进行读写操作;根据所述读写操作,生成日志文件,并根据日志文件,生成有向图;每一个事件节点表征对基本元素的操作;根据有向图,验证存储系统的顺序一致性,并得到验证结果;其中,验证结果用于表征存储系统是否需要调整。采用本技术方案,能够校验存储系统是否符合顺序一致性,进而保证存储系统运行的正确性。
Description
技术领域
本申请涉及存储系统技术领域,尤其涉及一种存储系统顺序一致性的验证方法、装置及存储介质。
背景技术
通常对于强一致性存储系统,存储系统需要保证顺序一致性。其中,顺序一致性是计算机系统中的一种数据一致性模型,它规定了多个并发操作对存储系统的访问应该具有某些特定的属性。
验证存储系统是否符合顺序一致性是一项复杂的任务,可能需要深入的领域知识和专业工具的支持。在实际应用中,通常需要借助专门的验证工具和专家的指导来完成这一过程。
因此,亟需一种存储系统顺序一致性的验证方法,能够简化验证的过程,进而保证存储系统运行的正确性。
发明内容
本申请提供一种存储系统顺序一致性的验证方法、装置及存储介质,能够简化验证的过程,进而保证存储系统运行的正确性。
第一方面,本申请提供一种存储系统顺序一致性的验证方法,所述方法包括:
基于预设代码文件,对存储系统中的基本元素进行读写操作;所述基本元素的类别由所述存储系统的接口类别确定的;所述预设代码文件用于指示对所述存储系统中的基本元素进行读写操作;
根据所述读写操作,生成日志文件,并根据所述日志文件,生成有向图;其中,所述有向图用于表征所述预设代码文件对所述基本元素的操作顺序;所述有向图由多个事件节点构成;每一个所述事件节点表征对所述基本元素的操作;
根据所述有向图,验证所述存储系统的顺序一致性,并得到验证结果;其中,所述验证结果用于表征所述存储系统是否需要调整。
在一个示例中,所述根据所述日志文件,生成有向图,包括:
对所述日志文件进行解析,确定所述日志文件中的线程数、所述基本元素的数量、每一个所述线程执行每一个所述基本元素的开始时刻以及每一个所述线程执行每一个所述基本元素的结束时刻;
调取预设规则,并根据所述日志文件中的线程数、所述基本元素的数量、每一个所述线程执行每一个所述基本元素的开始时刻、每一个所述线程执行每一个所述基本元素的结束时刻和所述预设规则,生成所述有向图。
在一个示例中,所述预设规则,包括如下至少一项:
针对同一个所述线程,执行时间早的日志文件的操作顺序早于执行时间晚的日志文件操作顺序;
针对同一个所述日志文件中的同一个所述基本元素,写操作的操作顺序早于读操作的操作顺序;
针对同一个所述日志文件中的相邻数值,读操作的操作顺序早于写操作的操作顺序。
在一个示例中,所述根据所述有向图,验证所述存储系统的顺序一致性,并得到验证结果,包括:
若所述有向图中存在环路,则表征所述验证结果为所述存储系统的不符合顺序一致性;
若所述有向图中不存在环路,则表征所述验证结果为所述存储系统的符合顺序一致性。
在一个示例中,所述根据所述读写操作,生成日志文件之前,还包括:
向所述存储系统输入异常数值;其中,所述异常数值包括如下至少一项:节点宕机、网络断开、网络丢包、硬盘数据错误。
在一个示例中,所述方法还包括:
响应于用户的触发操作,调取预设代码文件。
在一个示例中,所述方法还包括:
若验证结果表征存储系统的不符合顺序一致性,发送告警消息至用户端。
第二方面,本申请提供一种存储系统顺序一致性的验证装置,所述装置包括:
操作单元,用于基于预设代码文件,对存储系统中的基本元素进行读写操作;所述基本元素的类别由所述存储系统的类别确定的;所述预设代码文件用于指示对所述存储系统中的基本元素进行读写操作;
生成单元,用于根据所述读写操作,生成日志文件,并根据所述日志文件,生成有向图;其中,所述有向图用于表征所述预设代码文件对所述基本元素的操作顺序;所述有向图由多个事件节点构成;每一个所述事件节点表征对所述基本元素的操作;
验证单元,用于根据所述有向图,验证所述存储系统的顺序一致性,并得到验证结果;其中,所述验证结果用于表征所述存储系统是否需要调整。
在一个示例中,生成单元,包括:
确定模块,用于对所述日志文件进行解析,确定所述日志文件中的线程数、所述基本元素的数量、每一个所述线程执行每一个所述基本元素的开始时刻以及每一个所述线程执行每一个所述基本元素的结束时刻;
调取模块,用于调取预设规则,并根据所述日志文件中的线程数、所述基本元素的数量、每一个所述线程执行每一个所述基本元素的开始时刻、每一个所述线程执行每一个所述基本元素的结束时刻和所述预设规则,生成所述有向图。
在一个示例中,所述预设规则,包括如下至少一项:
针对同一个所述线程,执行时间早的日志文件的操作顺序早于执行时间晚的日志文件操作顺序;
针对同一个所述日志文件中的同一个所述基本元素,写操作的操作顺序早于读操作的操作顺序;
针对同一个所述日志文件中的相邻数值,读操作的操作顺序早于写操作的操作顺序。
在一个示例中,验证单元,包括:
若所述有向图中存在环路,则表征所述验证结果为所述存储系统的不符合顺序一致性;
若所述有向图中不存在环路,则表征所述验证结果为所述存储系统的符合顺序一致性。
在一个示例中,所述装置,还包括:
输入单元,用于向所述存储系统输入异常数值;其中,所述异常数值包括如下至少一项:节点宕机、网络断开、网络丢包、硬盘数据错误。
在一个示例中,所述装置还包括:
调取单元,用于响应于用户的触发操作,调取预设代码文件。
在一个示例中,所述装置还包括:
发送单元,用于若验证结果表征存储系统的不符合顺序一致性,发送告警消息至用户端。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。
本申请提供的一种存储系统顺序一致性的验证方法、装置及存储介质,通过基于预设代码文件,对存储系统中的基本元素进行读写操作;所述基本元素的类别由所述存储系统的接口类别确定的;所述预设代码文件用于指示对所述存储系统中的基本元素进行读写操作;根据所述读写操作,生成日志文件,并根据所述日志文件,生成有向图;其中,所述有向图用于表征所述预设代码文件对所述基本元素的操作顺序;所述有向图由多个事件节点构成;每一个所述事件节点表征对所述基本元素的操作;根据所述有向图,验证所述存储系统的顺序一致性,并得到验证结果;其中,所述验证结果用于表征所述存储系统是否需要调整。采用本技术方案,能够简化验证的过程,进而保证存储系统运行的正确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1a是根据本申请实施例一提供的一种存储系统顺序一致性的验证方法的流程示意图;
图1b是根据本申请实施例一提供的一种有向图的示意图;
图2是根据本申请实施例二提供的一种存储系统顺序一致性的验证方法的流程示意图;
图3是根据本申请实施例三提供的一种存储系统顺序一致性的验证装置的结构示意图;
图4是根据本申请实施例四提供的一种存储系统顺序一致性的验证装置的结构示意图;
图5是根据一示例性实施例示出的一种电子设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在一个顺序一致性的存储系统中,所有的操作都会被视为按照全局的总序执行,这意味着对基本元素A的每个操作都会在其他线程中的操作之前或之后被执行。这种总序的执行顺序使得系统的行为对程序员来说更容易理解和推断,因为它与程序的顺序执行方式保持一致。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1a是根据本申请实施例一提供的一种存储系统顺序一致性的验证方法的流程示意图。实施例一中包括如下步骤:
S101、基于预设代码文件,对存储系统中的基本元素进行读写操作;基本元素的类别由存储系统的接口类别确定的;预设代码文件用于指示对存储系统中的基本元素进行读写操作。
在一个示例中,存储系统按照接口的不同可以分为kv存储系统、文件存储系统和数据库存储系统。存储系统的接口不同对应的基本元素也是不同的,其中,kv存储系统的基本元素为key以及与该key对应的value值。文件存储系统的基本元素为文件中特定偏移量的数据内容。数据库存储系统的基本元素为字段。进一步地,对于不同接口类别的存储系统,所对应的预设代码文件是不同的。读写操作可以为读基本元素,也可以为写基本元素。
S102、根据读写操作,生成日志文件,并根据日志文件,生成有向图;其中,有向图用于表征预设代码文件对基本元素的操作顺序;有向图由多个事件节点构成;每一个事件节点表征对基本元素的操作。
在一个示例中,为了更好地说明有向图,可以参见图1b示出的一种有向图的示意图。可以看出图1b中包括多个事件节点,包括:w1-a-1,w1-b-1,w1-a-2,w1-b-2,r1-b-1,r1-b-2,r1-a-1。其中,w表示写操作,w后面的标识表示线程,a表示基本元素,1或2表示具体的数值。
S103、根据有向图,验证存储系统的顺序一致性,并得到验证结果;其中,验证结果用于表征存储系统是否需要调整。
在一个示例中,通过有向图可以比较直观地看出存储系统的顺序一致性,得到最后的验证结果。具体的,可以通过图1b进行分析,得到验证结果。
本申请提供的一种存储系统顺序一致性的验证方法,通过基于预设代码文件,对存储系统中的基本元素进行读写操作;基本元素的类别由存储系统的接口类别确定的;预设代码文件用于指示对存储系统中的基本元素进行读写操作;根据读写操作,生成日志文件,并根据日志文件,生成有向图;其中,有向图用于表征预设代码文件对基本元素的操作顺序;有向图由多个事件节点构成;每一个事件节点表征对基本元素的操作;根据有向图,验证存储系统的顺序一致性,并得到验证结果;其中,验证结果用于表征存储系统是否需要调整。采用本技术方案,能够校验存储系统是否符合顺序一致性,进而保证存储系统运行的正确性。
图2是根据本申请实施例二提供的一种存储系统顺序一致性的验证方法的流程示意图。实施例二中包括如下步骤:
S201、响应于用户的触发操作,调取预设代码文件。
本实施例中,用户的触发操作可以为用户在电子设备上的双击操作,然后调取预设代码文件。
S202、基于预设代码文件,对存储系统中的基本元素进行读写操作;基本元素的类别由存储系统的接口类别确定的;预设代码文件用于指示对存储系统中的基本元素进行读写操作。
示例性地,本步骤可以参见上述步骤S101,不再赘述。
S203、根据读写操作,生成日志文件。
示例性地,本步骤可以参见上述步骤S102,不再赘述。
在一个示例中,根据读写操作,生成日志文件之前,还包括:
向存储系统输入异常数值;其中,异常数值包括如下至少一项:节点宕机、网络断开、网络丢包、硬盘数据错误。
本实施例中,向存储系统输入异常数值可以验证存储系统在面临异常时能否继续保证顺序一致性。
S204、对日志文件进行解析,确定日志文件中的线程数、基本元素的数量、每一个线程执行每一个基本元素的开始时刻以及每一个线程执行每一个基本元素的结束时刻。
本实施例中,日志文件中的线程数表示并行的读写操作的数量,每个线程会读写基本元素多次,每个线程可能会读写相同或不同的基本元素,读写内容可以容易地判定先后顺序。
本实施例中,可以从图1b中看出基本元素包括a和b。每一个线程执行每一个基本元素的开始时刻以及每一个线程执行每一个基本元素的结束时刻可以确定操作时长。
S205、调取预设规则,并根据日志文件中的线程数、基本元素的数量、每一个线程执行每一个基本元素的开始时刻、每一个线程执行每一个基本元素的结束时刻和预设规则,生成有向图。其中,有向图用于表征预设代码文件对基本元素的操作顺序;有向图由多个事件节点构成;每一个事件节点表征对基本元素的操作。
在一个示例中,预设规则,包括如下至少一项:
针对同一个线程,执行时间早的日志文件的操作顺序早于执行时间晚的日志文件操作顺序;
针对同一个日志文件中的同一个基本元素,写操作的操作顺序早于读操作的操作顺序;
针对同一个日志文件中的相邻数值,读操作的操作顺序早于写操作的操作顺序。
在一个示例中,例如可以编写如下程序验证kv存储系统:5个线程持续更新1个key,更新内容是<thread-id>_<write-id>,另外5个线程持续读上述key,记录读出的内容。
例如某个线程的日志中有:
读取k=a,v=1-4;
读取k=a,v=2-3;
则对于key=a来讲,thread1的写入4早于thread2的写入3。
例如在线程1的日志中有:
写入k=a,v=1-5;
在线程2的日志中有:
读取k=a,v=1-5;
则对于这两个事件节点,写操作的操作顺序早于读操作的操作顺序。
S206、若有向图中存在环路,则表征验证结果为存储系统的不符合顺序一致性。
本实施例中,可以看出图1b中存在环路,则表征验证结果为存储系统的不符合顺序一致性。
S207、若有向图中不存在环路,则表征验证结果为存储系统的符合顺序一致性;其中,验证结果用于表征存储系统是否需要调整。
本实施例中,若有向图中不存在环路,则表征验证结果为存储系统的符合顺序一致性,则需要调整。
S208、若验证结果表征存储系统的不符合顺序一致性,发送告警消息至用户端。
本实施例中,告警消息可以为弹窗消息或者警示音,在此不做限制。若验证结果表征存储系统的不符合顺序一致性,则需要发送告警消息至用户端,以使用户端对存储系统进行调整。
本申请提供的一种存储系统顺序一致性的验证方法,通过对日志文件进行解析,确定日志文件中的线程数、基本元素的数量、每一个线程执行每一个基本元素的开始时刻以及每一个线程执行每一个基本元素的结束时刻,调取预设规则,并根据日志文件中的线程数、基本元素的数量、每一个线程执行每一个基本元素的开始时刻、每一个线程执行每一个基本元素的结束时刻和预设规则,生成有向图。其中,有向图用于表征预设代码文件对基本元素的操作顺序;有向图由多个事件节点构成;每一个事件节点表征对基本元素的操作。若有向图中存在环路,则表征验证结果为存储系统的不符合顺序一致性,若有向图中不存在环路,则表征验证结果为存储系统的符合顺序一致性;其中,验证结果用于表征存储系统是否需要调整。若验证结果表征存储系统的不符合顺序一致性,发送告警消息至用户端。采用本技术方案,能够简化验证过程,提高验证效率。
图3是根据本申请实施例三提供的一种存储系统顺序一致性的验证装置的结构示意图。具体的,实施例三的装置30中包括:
操作单元301,用于基于预设代码文件,对存储系统中的基本元素进行读写操作;基本元素的类别由存储系统的类别确定的;预设代码文件用于指示对存储系统中的基本元素进行读写操作;
生成单元302,用于根据读写操作,生成日志文件,并根据日志文件,生成有向图;其中,有向图用于表征预设代码文件对基本元素的操作顺序;有向图由多个事件节点构成;每一个事件节点表征对基本元素的操作;
验证单元303,用于根据有向图,验证存储系统的顺序一致性,并得到验证结果;其中,验证结果用于表征存储系统是否需要调整。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图4是根据本申请实施例四提供的一种存储系统顺序一致性的验证装置的结构示意图。具体的,实施例四的装置40中包括:
操作单元401,用于基于预设代码文件,对存储系统中的基本元素进行读写操作;基本元素的类别由存储系统的类别确定的;预设代码文件用于指示对存储系统中的基本元素进行读写操作。
生成单元402,用于根据读写操作,生成日志文件,并根据日志文件,生成有向图;其中,有向图用于表征预设代码文件对基本元素的操作顺序;有向图由多个事件节点构成;每一个事件节点表征对基本元素的操作。
验证单元403,用于根据有向图,验证存储系统的顺序一致性,并得到验证结果;其中,验证结果用于表征存储系统是否需要调整。
在一个示例中,生成单元402,包括:
确定模块4021,用于对日志文件进行解析,确定日志文件中的线程数、基本元素的数量、每一个线程执行每一个基本元素的开始时刻以及每一个线程执行每一个基本元素的结束时刻;
调取模块4022,用于调取预设规则,并根据日志文件中的线程数、基本元素的数量、每一个线程执行每一个基本元素的开始时刻、每一个线程执行每一个基本元素的结束时刻和预设规则,生成有向图。
在一个示例中,预设规则,包括如下至少一项:
针对同一个线程,执行时间早的日志文件的操作顺序早于执行时间晚的日志文件操作顺序;
针对同一个日志文件中的同一个基本元素,写操作的操作顺序早于读操作的操作顺序;
针对同一个日志文件中的相邻数值,读操作的操作顺序早于写操作的操作顺序。
在一个示例中,验证单元403,包括:
若有向图中存在环路,则表征验证结果为存储系统的不符合顺序一致性;
若有向图中不存在环路,则表征验证结果为存储系统的符合顺序一致性。
在一个示例中,装置40,还包括:
输入单元404,用于向存储系统输入异常数值;其中,异常数值包括如下至少一项:节点宕机、网络断开、网络丢包、硬盘数据错误。
在一个示例中,装置40还包括:
调取单元405,用于响应于用户的触发操作,调取预设代码文件。
在一个示例中,装置40还包括:
发送单元406,用于若验证结果表征存储系统的不符合顺序一致性,发送告警消息至用户端。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5是根据一示例性实施例示出的一种电子设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到装置500的打开/关闭状态,组件的相对定位,例如组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机执行指令的存储器504,上述计算机执行指令可由装置500的处理器520执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述电子设备的一种存储系统顺序一致性的验证方法。
本申请还公开了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本实施例中的方法。
本申请以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或电子设备上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据电子设备)、或者包括中间件部件的计算系统(例如,应用电子设备)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和电子设备。客户端和电子设备一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-电子设备关系的计算机程序来产生客户端和电子设备的关系。电子设备可以是云电子设备,又称为云计算电子设备或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。电子设备也可以为分布式系统的电子设备,或者是结合了区块链的电子设备。应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本申请的装置还可通过其它的方式实现。例如,上述实施例中单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本申请各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(ResistiveRandom Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台电子设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种存储系统顺序一致性的验证方法,其特征在于,所述方法包括:
基于预设代码文件,对存储系统中的基本元素进行读写操作;所述基本元素的类别由所述存储系统的接口类别确定的;所述预设代码文件用于指示对所述存储系统中的基本元素进行读写操作;
根据所述读写操作,生成日志文件,并根据所述日志文件,生成有向图;其中,所述有向图用于表征所述预设代码文件对所述基本元素的操作顺序;所述有向图由多个事件节点构成;每一个所述事件节点表征对所述基本元素的操作;
根据所述有向图,验证所述存储系统的顺序一致性,并得到验证结果;其中,所述验证结果用于表征所述存储系统是否需要调整。
2.根据权利要求1所述的方法,其特征在于,所述根据所述日志文件,生成有向图,包括:
对所述日志文件进行解析,确定所述日志文件中的线程数、所述基本元素的数量、每一个所述线程执行每一个所述基本元素的开始时刻以及每一个所述线程执行每一个所述基本元素的结束时刻;
调取预设规则,并根据所述日志文件中的线程数、所述基本元素的数量、每一个所述线程执行每一个所述基本元素的开始时刻、每一个所述线程执行每一个所述基本元素的结束时刻和所述预设规则,生成所述有向图。
3.根据权利要求2所述的方法,其特征在于,所述预设规则,包括如下至少一项:
针对同一个所述线程,执行时间早的日志文件的操作顺序早于执行时间晚的日志文件操作顺序;
针对同一个所述日志文件中的同一个所述基本元素,写操作的操作顺序早于读操作的操作顺序;
针对同一个所述日志文件中的相邻数值,读操作的操作顺序早于写操作的操作顺序。
4.根据权利要求3所述的方法,其特征在于,所述根据所述有向图,验证所述存储系统的顺序一致性,并得到验证结果,包括:
若所述有向图中存在环路,则表征所述验证结果为所述存储系统的不符合顺序一致性;
若所述有向图中不存在环路,则表征所述验证结果为所述存储系统的符合顺序一致性。
5.根据权利要求1所述的方法,其特征在于,所述根据所述读写操作,生成日志文件之前,还包括:
向所述存储系统输入异常数值;其中,所述异常数值包括如下至少一项:节点宕机、网络断开、网络丢包、硬盘数据错误。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于用户的触发操作,调取预设代码文件。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
若验证结果表征存储系统的不符合顺序一致性,发送告警消息至用户端。
8.一种存储系统顺序一致性的验证装置,其特征在于,所述装置包括:
操作单元,用于基于预设代码文件,对存储系统中的基本元素进行读写操作;所述基本元素的类别由所述存储系统的类别确定的;所述预设代码文件用于指示对所述存储系统中的基本元素进行读写操作;
生成单元,用于根据所述读写操作,生成日志文件,并根据所述日志文件,生成有向图;其中,所述有向图用于表征所述预设代码文件对所述基本元素的操作顺序;所述有向图由多个事件节点构成;每一个所述事件节点表征对所述基本元素的操作;
验证单元,用于根据所述有向图,验证所述存储系统的顺序一致性,并得到验证结果;其中,所述验证结果用于表征所述存储系统是否需要调整。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311493863.2A CN117520283A (zh) | 2023-11-09 | 2023-11-09 | 存储系统顺序一致性的验证方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311493863.2A CN117520283A (zh) | 2023-11-09 | 2023-11-09 | 存储系统顺序一致性的验证方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117520283A true CN117520283A (zh) | 2024-02-06 |
Family
ID=89758034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311493863.2A Pending CN117520283A (zh) | 2023-11-09 | 2023-11-09 | 存储系统顺序一致性的验证方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117520283A (zh) |
-
2023
- 2023-11-09 CN CN202311493863.2A patent/CN117520283A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7315796B2 (ja) | 回路原理図のチェック方法、装置及びシステム | |
JP2017510008A (ja) | ファームウェアの復元方法、装置、端末、プログラム及び記録媒体 | |
US20170300225A1 (en) | Displaying application page of mobile terminal | |
CN114372043A (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN105468606B (zh) | 网页保存的方法及装置 | |
CN108009057B (zh) | 用于密码输入的测试方法、装置、存储介质及电子设备 | |
CN113778687B (zh) | 内存分配信息处理方法、装置、电子设备及存储介质 | |
CN110213062A (zh) | 处理消息的方法及装置 | |
CN117520283A (zh) | 存储系统顺序一致性的验证方法、装置及存储介质 | |
CN114564206A (zh) | 一种数据非空校验方法、装置、设备及可读存储介质 | |
CN113010587B (zh) | 数据源配置方法、装置、终端、服务器及介质 | |
CN114428737A (zh) | 基于微服务体系的通信方法、装置、设备及存储介质 | |
CN112070221B (zh) | 运算方法、装置及相关产品 | |
CN116360859B (zh) | 电源域的访问方法、装置、设备及存储介质 | |
CN112416697B (zh) | 一种信息处理、装置、终端及存储介质 | |
CN117520865A (zh) | 疑似风险目标数据集归类处理方法、设备及存储介质 | |
CN105959139A (zh) | 信息显示方法及装置 | |
CN117520398A (zh) | 变量比对方法、装置、设备及存储介质 | |
CN116909775A (zh) | 数据信息调用方法、装置、设备及存储介质 | |
CN118659837A (zh) | 终端天线锁定方法、装置、设备及存储介质 | |
CN115390911A (zh) | 节点信息确定方法、装置和设备 | |
CN117520023A (zh) | 屏幕快照的获取方法、屏幕快照的获取装置及存储介质 | |
CN117472931A (zh) | 数据库执行语句的调用方法、装置、设备及存储介质 | |
CN117453342A (zh) | 虚拟产品配置方法、装置、设备及存储介质 | |
CN114240393A (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 |