掌桥专利:专业的专利平台
掌桥专利
首页

一种日志并行处理方法、系统、存储介质以及设备

文献发布时间:2023-06-19 19:00:17


一种日志并行处理方法、系统、存储介质以及设备

技术领域

本发明属于数据处理技术领域,具体涉及一种日志并行处理方法、系统、存储介质以及设备。

背景技术

数据处理是系统工程和自动控制的基本环节,贯穿于社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地影响了人类社会发展的进程。

在数据处理中,物理复制是主从复制同步方式中的一种重要的方式,物理复制主要靠的是数据库内核在写入数据时,生成的日志信息,即日志组,并按顺序依次应用这些日志组,可以理解的,当遇到一个事务的结束时,则将这个事务提交,而遇到下一个事务时,则自动开始下一个事务即可,但这样的数据处理方式存在一个问题,即由于是单线程的执行过程,会导致数据处理的速度慢,效率低的问题。

发明内容

基于此,本发明实施例当中提供了一种日志并行处理方法、系统、存储介质以及设备,旨在解决现有技术中,在主从物理复制时,通常采用单线程复制,导致数据处理的速度慢,效率低的问题。

本发明实施例的第一方面提供了一种日志并行处理方法,所述方法包括:

获取当前写节点物理事务生成的日志组,其中,所述日志组由串行的多个日志页面构成,各所述日志页面均对应一特定的标识号码,且各所述日志页面内记录有日志内容;

获取线程号码和所述标识号码,根据所述标识号码,将按时间顺序依次产生的各所述日志页面分发至匹配的所述线程号码所对应的目标线程中,并在各所述目标线程的末尾产生结束标识;

执行各所述目标线程中的所述日志内容,直至所有所述目标线程均执行至对应的所述结束标识时,则将所述当前写节点物理事务提交。

进一步的,所述获取线程号码和所述标识号码,根据所述标识号码,将按时间顺序依次产生的各所述日志页面分发至匹配的所述线程号码所对应的目标线程中,并在各所述目标线程的末尾产生结束标识的步骤包括:

获取线程数和各所述标识号码,并将各所述标识号码与所述线程数进行哈希处理,得到各线程对应的所述线程号码;

建立所述线程号码与所述标识号码的映射模型,所述映射模型用于当输入所述标识号码,输出对应的所述线程号码;

将所述标识号码输入所述映射模型,得到对应的所述线程号码,并根据所述线程号码,将各所述日志页面分发至对应的目标线程中;

在各所述目标线程的末尾产生结束标识,其中,所述结束标识为SQL语句中的END标志。

进一步的,所述获取线程号码和所述标识号码,根据所述标识号码,将按时间顺序依次产生的各所述日志页面分发至匹配的所述线程号码所对应的目标线程中,并在各所述目标线程的末尾产生结束标识的步骤还包括:

获取所述日志组,并根据所述日志组,生成包含目标日志页面的目标日志组;

获取线程数和所述目标日志组中的各标识号码,并将所述目标日志组中的各标识号码与所述线程数进行哈希处理,得到各线程对应的所述线程号码;

建立所述线程号码与所述目标日志组中的各标识号码的映射模型,所述映射模型用于当输入所述标识号码,输出对应的所述线程号码;

将所述标识号码输入所述映射模型,得到对应的所述线程号码,并根据所述线程号码,将各所述日志页面分发至对应的目标线程中;

其中,每一个所述目标线程的末尾均分配有所述目标日志组中至少一个目标日志页面,所述目标日志页面为对应的所述目标线程的结束标识。

进一步的,所述获取所述日志组,并根据所述日志组,生成包含目标日志页面的目标日志组的步骤包括:

依次获取所述日志组中的各所述日志页面对应的第一标识号码,得到第一标识号码组;

复制所述第一标识号码组,并将所述第一标识号码组中的所述第一标识号码进行去重处理,得到第二标识号码组;

将所述第二标识号码组添加至所述第一标识号码组中,形成第三标识号码组;

将所述第三标识号码组中,所述第一标识号码组包含的日志页面赋予对应的日志内容;

将所述第三标识号码组中,所述第二标识号码组包含的日志页面赋予预设类型,以最终得到所述目标日志组,所述预设类型用于实现结束标识的功能,所述第二标识号码组包含的日志页面为所述目标日志页面。

进一步的,所述预设类型为MLOG_COMMIT_MTR类型。

进一步的,所述执行各所述目标线程中的所述日志内容,直至所有所述目标线程均执行至对应的所述结束标识时,则将所述当前写节点物理事务提交的步骤包括:

依次获取各所述目标线程中所述日志页面的类型,并判断所述类型是否为预设类型;

若是,则将对应的所述目标线程匹配的写节点子物理事务提交,所述写节点子物理事务用于组成所述写节点物理事务。

进一步的,所述复制所述第一标识号码组,并将所述第一标识号码组中的所述第一标识号码进行去重处理,得到第二标识号码组的步骤包括:

获取位于所述第一标识号码组第一位的第一标识号码,并将所述第一位的第一标识号码放入预置号码组中;

依次判断所述第一标识号码组中除第一位以外的第一标识号码与所述预置号码组中存在的标识号码是否相同;

若否,则将对应的第一标识号码添加至所述预置号码组中,以得到所述第二标识号码组。

本发明实施例的第二方面提供了一种日志并行处理系统,所述系统包括:

日志组获取模块,用于获取当前写节点物理事务生成的日志组,其中,所述日志组由串行的多个日志页面构成,各所述日志页面均对应一特定的标识号码,且各所述日志页面内记录有日志内容;

分发模块,用于获取线程号码和所述标识号码,根据所述标识号码,将按时间顺序依次产生的各所述日志页面分发至匹配的所述线程号码所对应的目标线程中,并在各所述目标线程的末尾产生结束标识;

提交模块,用于执行各所述目标线程中的所述日志内容,直至所有所述目标线程均执行至对应的所述结束标识时,则将所述当前写节点物理事务提交。

本发明实施例的第三方面提供了一种计算机可读存储介质,包括:

所述可读存储介质存储一个或多个程序,该程序被处理器执行时实现第一方面的日志并行处理方法。

本发明实施例的第四方面提供了一种电子设备,其特征在于,所述电子设备包括存储器和处理器,其中:

所述存储器用于存放计算机程序;

所述处理器用于执行所述存储器上所存放的计算机程序时,实现第一方面的日志并行处理方法。

本发明提出的一种日志并行处理方法、系统、存储介质以及设备,通过获取当前写节点物理事务生成的日志组,其中,日志组由串行的多个日志页面构成,各日志页面均对应一特定的标识号码,且各日志页面内记录有日志内容,后获取线程号码和标识号码,根据标识号码,将按时间顺序依次产生的各日志页面分发至匹配的线程号码所对应的目标线程中,并在各目标线程的末尾产生结束标识,以完成串行日志页面的并行分发处理,最终执行各目标线程中的日志内容,直至所有目标线程均执行至对应的结束标识时,则将当前写节点物理事务提交,实现了数据处理速度和效率的大幅度提升。

附图说明

图1是本发明实施例一提供的一种日志并行处理方法的实现流程图;

图2是本发明实施例一提供的日志分发示意图;

图3是本发明实施例二提供的日志并行处理示意图;

图4是本发明实施例三提供的一种日志并行处理系统的结构示意图;

图5是本发明实施例四提供的一种电子设备的结构框图。

以下具体实施方式将结合上述附图进一步说明。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。

需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

在数据处理中,主从复制的同步方式包括两种,一种是逻辑复制,属于目前主流的使用方式,也是官方支持的一种方式,但这种方式的前提是主从不同节点的数据在物理上分离的,是多份不同的数据,为了保持数据一致,就需要通过这种逻辑复制来分别独立地执行同样的SQL语句,而为了实现主从节点的共享存储特性,就必须实现另一种复制方法,相对逻辑复制而言,称作物理复制,物理复制主要靠的是数据库内核在写入数据时,生成的日志信息,通常在写入时,生成的日志包括两种, Binlog和Redolog,Binlog应用于上述提到的逻辑复制中,原因在于,Binlog一般记录是SQL语句,可以在每个节点独立执行的,而Redolog则应用于物理复制中,原因在于,Redo log的记录形式是底层的日志页面的写入信息,可以理解的,Redolog记录的是在某一个日志页面上写入指定长度的、指定内容的一段数据,所以被称为是物理的,从库回放这些物理日志的动作,叫作日志的Apply(应用)。

另外,Redolog在生成的时候,都是按照顺序生成的,然后依次存储至日志文件中,由于是一直向后追加的,所以内容的逻辑也是顺序的,由一个个日志记录组成,各日志记录由若干个字节构成,每个日志记录都是由数据库的内核定义的,不同日志记录之间,或者前后,存在关联关系。连续的若干个日志记录,形成一个日志组,一个日志组是由某一个物理事务生成的日志,然后以连续的方式写入到文件中,其中,一个日志组中包括了若干个不同类型的日志记录,但每一个日志组的最开始,意味着当前物理事务的开始操作,而日志组的结束,意味着当前物理事务的提交操作,这里的事务提交操作,是必须的,因为在事务开始之后,应用日志时,会对日志页面加锁,所以在物理事务结束之后,必须要及时放锁(即在事务结束的时候),才能保证从库提供正常的数据服务。

基于上述理论基础,可以了解数据处理的单线程执行方式,这种方式会导致数据处理的速度慢,效率低,为此,本发明提出一种日志并行处理方法,以解决该问题。

实施例一

请参阅图1,图1示出了本发明实施例一提供的一种日志并行处理方法,所述方法具体包括步骤S01至步骤S03。

步骤S01,获取当前写节点物理事务生成的日志组,其中,所述日志组由串行的多个日志页面构成,各所述日志页面均对应一特定的标识号码,且各所述日志页面内记录有日志内容。

需要说明的是,由于日志组内包含的都是由写节点在物理事务活动期间写下的针对所有修改的不同日志页面时所产生的日志,其中,每条日志记录对应一个日志页面,而每个日志页面对应一个标识号码(Page id),可以理解的,日志组内包含的所有的标识号码,可能是相同的,也可能是不同的,但可以确定的是,对于相同的标识号码的日志页面,后面的标识号码的日志页面对应的日志内容是建立在前面的标识号码的日志页面对应的日志内容基础之上的,也就是说,相同的日志页面,只有前面的日志内容被应用之后,才能继续应用后面的日志内容,而日志组内不同标识号码的日志页面,相互关系则无关紧要。

基于此,决定了在将一个日志组内的日志内容分发到多线程时,具有相同标识号码的日志页面不能被分发到不同的线程中去,若被分发到不同线程当中,由于不同线程的执行有快有慢,有前有后,应用日志页面中的日志记录内容时,就无法保证原来的顺序,只有将日志组内所有相同标识号码的日志页面分到同一个线程中去时,才能保证相同标识号码的日志页面的日志内容依序应用,另外,可以保证日志并行应用之后,最基本的从节点的数据正确性。

步骤S02,获取线程号码和所述标识号码,根据所述标识号码,将按时间顺序依次产生的各所述日志页面分发至匹配的所述线程号码所对应的目标线程中,并在各所述目标线程的末尾产生结束标识。

其中,首先获取线程数和各标识号码,并将各标识号码与线程数进行哈希处理,得到各线程对应的线程号码,后建立线程号码与标识号码的映射模型,映射模型用于当输入标识号码,输出对应的线程号码,最终将标识号码输入映射模型,得到对应的线程号码,并根据线程号码,将各日志页面分发至对应的目标线程中,在本实施例当中,如图2所示,为本发明实施例一提供的日志分发示意图,其中,可根据日志页面对应的标识号码和线程数,进行哈希处理,得到映射关系,具体的,日志页面对应的标识号码为1、5、7、6、3,线程数为4,再进行哈希处理,由图可知,标识号码1和5对应于线程1,标识号码6对应于线程2,标识号码3和7对应于线程3,而线程4没有对应的标识号码,属于空线程。

需要说明的是,针对事务开始与提交的控制方法来讲,由于在主库生成日志的时候,一个日志组在其开始位置没有设置任何标志来表示这是事务开始的位置,在结束位置通常只有一个结束标识,即SQL语句中的END标志,这个END标志不像日志组中其它日志类型,它本身与日志页面没有任何关系,在本实施例当中,可以将这个END标志分发到每一个线程中去,这样就能保证分发到每一个线程的日志能以正确的逻辑执行应用操作。

步骤S03,执行各所述目标线程中的所述日志内容,直至所有所述目标线程均执行至对应的所述结束标识时,则将所述当前写节点物理事务提交。

在每一个线程中,当原来所有的日志中的日志内容被应用之后,接下来遇到的需要应用的日志类型为MLOG_COMMIT_MTR类型时,就会认为当前这个线程需要提交了,此时执行一次事务提交。至于事务的开始操作,由于事务提交之后,如果在应用过程中,线程所用到的物理事务还没有开始的话,就自动开始。

综上,本发明实施例当中的日志并行处理方法,通过获取当前写节点物理事务生成的日志组,其中,日志组由串行的多个日志页面构成,各日志页面均对应一特定的标识号码,且各日志页面内记录有日志内容,后获取线程号码和标识号码,根据标识号码,将按时间顺序依次产生的各日志页面分发至匹配的线程号码所对应的目标线程中,并在各目标线程的末尾产生结束标识,以完成串行日志页面的并行分发处理,最终执行各目标线程中的日志内容,直至所有目标线程均执行至对应的结束标识时,则将当前写节点物理事务提交,实现了数据处理速度和效率的大幅度提升。

实施例二

本发明实施例二同样提供的一种日志并行处理方法,所述方法与实施例一中的日志并行处理方法的区别在于,结束标识不同。

具体的,在每个目标线程的末尾分发END标志虽然可以解决事务按照逻辑提交的问题,但这样的方法代价太大,原因在于,线程可以有很多,但一个组内的日志页面数目可能很少,若每次在一个日志组结束的时候,将这个组的END标志分发到每一个不同线程中去的话,分发的效率太低,并且大多数针对这个END标志的执行都是无效的,因为一个组内的日志页面可能并没有被分发到每一个线程,有可能只有几个线程而已,正确的应该是把END标志只分发到这几个线程中才对,而不是全部的线程。

基于这个问题,可能还会想到的方案是把每一个日志组中涉及到的每一个线程记录下来,在组结束之后,只分发到这几个线程即可,这种方式可能稍有改善,但分发线程本身是单线程的,维护线程信息及最后一次性地将END标志分发到每一个线程的操作,会让分发线程的效率大大地降低。

进一步的,为了更好地解决分发效率及事务提交的问题,具体的,获取日志组,并根据日志组,生成包含目标日志页面的目标日志组,需要说明的是,依次获取日志组中的各日志页面对应的第一标识号码,得到第一标识号码组,例如,如图3所示,为本发明实施例二提供的日志并行处理示意图,其中,第一标识号码组为1、5、7、1、6、5、3、5,第一标识号码组中的1、5、7等等,为第一标识号码,每一个第一标识号码对应的日志页面中都包含有日志内容,进一步的,复制第一标识号码组,并将第一标识号码组中的第一标识号码进行去重处理,得到第二标识号码组,具体的,首先获取位于第一标识号码组第一位的第一标识号码,即第一标识号码1,并将第一位的第一标识号码放入预置号码组中,即预置号码组中的组员只有第一标识号码1,后依次判断第一标识号码组中除第一位以外的第一标识号码与预置号码组中存在的标识号码是否相同,若否,则将对应的第一标识号码添加至预置号码组中,以得到第二标识号码组,可以理解的,将第一标识号码5与预置号码组中的1进行比较,由于5与1不相同,则将第一标识号码5添加至预置号码组中,得到更新后的预置号码组,预置号码组内存放有第一标识号码1和5,继续将第一标识号码组中的第一标识号码7与预置号码组中的1和5进行比较,由于7相比于1和5均不相同,则将第一标识号码7添加至预置号码组中,并更新预置号码组,以此类推,得到第一标识号码为1、5、7、6、3的预置号码组,即最终的第二标识号码组。

将第二标识号码组添加至第一标识号码组中,形成第三标识号码组,其中,第三标识号码组包含第一标识号码1、5、7、1、6、5、3、5、1、5、7、6、3,再将第三标识号码组中,第一标识号码组对应的标识号码赋予对应的日志内容,同时将第三标识号码组中,第二标识号码组包含的日志页面赋予预设类型,以最终得到目标日志组,该预设类型用于实现结束标识的功能,其中,第二标识号码组中各标识号码所对应的日志页面即为目标日志页面,具体的,预设类型为MLOG_COMMIT_MTR类型,该MLOG_COMMIT_MTR类型用于标记物理事务的结束位置,由上可知,日志组中存在多少个不同的标识号码,就对应生成多少个MLOG_COMMIT_MTR类型的日志,该日志所包含的信息只需要标识号码即可,不需要具体的日志内容,然后将这些具有MLOG_COMMIT_MTR类型的日志集中写到日志组的最后面,这样物理事务的结束位置,就是若干个MLOG_COMMIT_MTR类型的日志,这个类型的日志在分发的时候,会被当作是普通的日志,根据日志对应的标识号码分发到具体的线程中去,由于日志中的标识号码是在主库写日志的时候,根据物理事务中所实际包含的日志页面来生成的,所以在分发的时候就可以做到精准分发,快速分发。

实施例三

请参阅图4,图4是本发明实施例三提供的一种日志并行处理系统的结构示意图,该日志并行处理系统200包括:日志组获取模块21、分发模块22以及提交模块23,其中:

日志组获取模块21,用于获取当前写节点物理事务生成的日志组,其中,所述日志组由串行的多个日志页面构成,各所述日志页面均对应一特定的标识号码,且各所述日志页面内记录有日志内容;

分发模块22,用于获取线程号码和所述标识号码,根据所述标识号码,将按时间顺序依次产生的各所述日志页面分发至匹配的所述线程号码所对应的目标线程中,并在各所述目标线程的末尾产生结束标识,其中,所述结束标识为SQL语句中的END标志;

提交模块23,用于执行各所述目标线程中的所述日志内容,直至所有所述目标线程均执行至对应的所述结束标识时,则将所述当前写节点物理事务提交。

进一步的,在本发明其它实施例当中,所述分发模块22包括:

第一哈希处理单元,用于获取线程数和各所述标识号码,并将各所述标识号码与所述线程数进行哈希处理,得到各线程对应的所述线程号码;

第一映射模型建立单元,用于建立所述线程号码与所述标识号码的映射模型,所述映射模型用于当输入所述标识号码,输出对应的所述线程号码;

第一分发单元,用于将所述标识号码输入所述映射模型,得到对应的所述线程号码,并根据所述线程号码,将各所述日志页面分发至对应的目标线程中;

结束标识产生单元,用于在各所述目标线程的末尾产生结束标识,其中,所述结束标识为SQL语句中的END标志。

进一步的,在本发明其它实施例当中,所述分发模块22还包括:

目标日志组生成单元,用于获取所述日志组,并根据所述日志组,生成包含目标日志页面的目标日志组;

第二哈希处理单元,用于获取线程数和所述目标日志组中的各标识号码,并将所述目标日志组中的各标识号码与所述线程数进行哈希处理,得到各线程对应的所述线程号码;

第二映射模型建立单元,用于建立所述线程号码与所述目标日志组中的各标识号码的映射模型,所述映射模型用于当输入所述标识号码,输出对应的所述线程号码;

第二分发单元,用于将所述标识号码输入所述映射模型,得到对应的所述线程号码,并根据所述线程号码,将各所述日志页面分发至对应的目标线程中;

其中,每一个所述目标线程的末尾均分配有所述目标日志组中至少一个目标日志页面,所述目标日志页面为对应的所述目标线程的结束标识

进一步的,在本发明其它实施例当中,所述目标日志组生成单元包括:

获取子单元,用于依次获取所述日志组中的各所述日志页面对应的第一标识号码,得到第一标识号码组;

去重子单元,用于复制所述第一标识号码组,并将所述第一标识号码组中的所述第一标识号码进行去重处理,得到第二标识号码组;

添加子单元,用于将所述第二标识号码组添加至所述第一标识号码组中,形成第三标识号码组;

第一赋予子单元,用于将所述第三标识号码组中,所述第一标识号码组包含的日志页面赋予对应的日志内容;

第二赋予子单元,用于将所述第三标识号码组中,所述第二标识号码组包含的日志页面赋予预设类型,以最终得到所述目标日志组,所述预设类型用于实现结束标识的功能,所述第二标识号码组包含的日志页面为所述目标日志页面,其中,所述预设类型为MLOG_COMMIT_MTR类型。

进一步的,在本发明其它实施例当中,所述提交模块23包括:

判断单元,用于依次获取各所述目标线程中所述日志页面的类型,并判断所述类型是否为预设类型;

提交单元,用于当判断所述类型为预设类型时,则将对应的所述目标线程匹配的写节点子物理事务提交,所述写节点子物理事务用于组成所述写节点物理事务。

进一步的,在本发明其它实施例当中,所述去重子单元具体用于获取位于所述第一标识号码组第一位的第一标识号码,并将所述第一位的第一标识号码放入预置号码组中;

依次判断所述第一标识号码组中除第一位以外的第一标识号码与所述预置号码组中存在的标识号码是否相同;

若否,则将对应的第一标识号码添加至所述预置号码组中,以得到所述第二标识号码组。

实施例四

本发明另一方面还提出一种电子设备,请参阅图5,所示为本发明实施例四当中的电子设备的结构框图,包括存储器20、处理器10以及存储在存储器上并可在处理器上运行的计算机程序30,处理器10执行计算机程序30时实现如上述的日志并行处理方法。

其中,处理器10在一些实施例中可以是中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据,例如执行访问限制程序等。

其中,存储器20至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的硬盘。存储器20在另一些实施例中也可以是电子设备的外部存储装置,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(FlashCard)等。进一步地,存储器20还可以既包括电子设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储电子设备的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。

需要指出的是,图5示出的结构并不构成对电子设备的限定,在其它实施例当中,该电子设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的日志并行处理方法。

本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电方式获得程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据状态实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 一种日志处理方法、系统及电子设备和存储介质
  • 一种日志信息处理方法、装置、设备及可读存储介质
  • 错误日志的处理方法、系统、电子设备和存储介质
  • 一种日志处理的方法、系统、设备及计算机可读存储介质
  • 一种日志缓存方法、系统、设备及计算机可读存储介质
  • 日志处理方法、装置、设备、存储介质及日志告警系统
  • 分布式系统的日志处理方法、系统、电子设备和存储介质
技术分类

06120115759043