一种基于区块链对结构化作品进行存证的方法及装置
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种基于区块链对结构化作品进行存证的方法及装置。
背景技术
结构化作品,是指其内容是由若干组件内容拼装而成的文件。例如,使用音序器编辑而成的音乐作品就是一种结构化作品,其是由若干音轨文件(组件内容)合并而成。又如,文本作品也往往是结构化作品,其是由若干段落(组件内容)编排而成。
实践中,用户在创作结构化作品的过程中,一般会按照先后顺序依次创作出每个组件内容,所有组件内容都被创作出之后,用户才会将由各组件内容拼装而成的结构化作品整体进行区块链存证,即,用户通过客户端,向区块链网络提交包含有结构化作品的哈希值的存证交易,由区块链网络中的各节点进行分布式存证。
例如,用户在创作文本作品时,往往会由前到后,依次创作出每个段落。用户将所有段落都创作出之后,意味着文本作品创作完成,此时,用户才会将文本作品整体进行区块链存证。
由于用户通过客户端构建的存证交易中一般包含用户的身份信息,因此,用户将创作的结构化作品封装为存证交易并发布于区块链,可以据此证明其拥有该结构化作品的著作权。然而,用户在创作结构化作品过程中(即创作完成结构化作品之前),已创作出的组件内容存在被剽窃的风险,此时,用户实际上难以证明其拥有该组件内容的著作权。
发明内容
为了解决用户在创作结构化作品完成之前,难以证明拥有已创作出的组件内容的著作权的问题,本说明书实施例提供一种基于区块链对结构化作品进行存证的方法及装置,技术方案如下:
根据本说明书实施例的第1方面,提供一种基于区块链对结构化作品进行存证的方法,包括:
在用户通过客户端创作结构化作品的过程中,所述客户端执行:
针对用户创作的每个组件内容,获取该组件内容,并计算该组件内容的组件哈希;
基于该组件哈希,构建该组件内容对应的组件存证交易,并将该组件内容对应的组件存证交易发送给区块链网络进行存证;
以及,建立该组件内容与所述结构化作品的对应关系并存储。
根据本说明书实施例的第2方面,提供一种基于区块链对结构化作品进行存证的装置,所述装置包括:
获取计算模块,在用户通过客户端创作结构化作品的过程中,针对用户创作的每个组件内容,获取该组件内容,并计算该组件内容的组件哈希;
构建发送模块,基于该组件哈希,构建该组件内容对应的组件存证交易,并将该组件内容对应的组件存证交易发送给区块链网络进行存证;
建立存储模块,建立该组件内容与所述结构化作品的对应关系并存储。
本说明书实施例所提供的技术方案,在用户通过客户端创作结构化作品的过程中,客户端可以获取用户创作完成的每个组件内容,并及时对获取的每个组件内容进行区块链存证。并且,客户端还会建立每个组件内容与结构化作品之间的对应关系并存储。如此,对于用户而言,在创作结构化作品的过程中,虽然并没有对结构化作品整体进行区块链存证,但是,用于拼装结构化作品的每个组件内容都会被及时进行区块链存证,这一方面相当于在用户创作结构化作品的过程中,就增量地逐渐完成对结构化作品的区块链存证,另一方面,在用户创作结构化作品的过程中,每个组件内容一旦产生,就可以及时被存证,可以为用户针对单个组件内容主张著作权提供证据。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种基于区块链对结构化作品进行存证的方法的流程示意图;
图2是本说明书实施例提供的文本作品的树形结构示意图;
图3是本说明书实施例提供的对应于文本作品的哈希树的结构示意图;
图4是本说明书实施例提供的更新后的树形结构示意图;
图5是本说明书实施例提供的更新后的哈希树的结构示意图;
图6是本说明书实施例提供的另一更新后的树形结构示意图;
图7是本说明书实施例提供的另一更新后的哈希树的结构示意图;
图8是本说明书实施例提供的音乐作品对应的梅克尔树示意图;
图9是本说明书实施例提供的一种基于区块链对结构化作品进行存证的装置的结构示意图;
图10是用于配置本说明书实施例装置的一种计算机设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1是本说明书实施例提供的一种基于区块链对结构化作品进行存证的方法的流程示意图,包括如下步骤:
S100:在用户通过客户端创作结构化作品的过程中,所述客户端针对用户创作的每个组件内容,获取该组件内容,并计算该组件内容的组件哈希。
在本说明书实施例中,将用于实现图1所示的方法的业务逻辑部署于区块链网络对应的客户端中。用户一般需要登录所述客户端,通过所述客户端来进行结构化作品的创作。
本文所述的结构化作品包括但不限于结构化编写的文本作品与使用音序器编辑而成的音乐作品。其中,结构化编写的文本作品具体可以是论文、章节体文学作品等。使用音序器编辑而成的音乐作品具体可以是乐器数字接口(Musical Instrument DigitalInterface,MIDI)格式的音乐作品。MIDI格式的音乐作品往往是由多个音轨文件合并而成,用户在创作MIDI格式的音乐作品时,通常会先分别对若干音轨进行编辑,得到若干音轨文件,然后将若干音轨文件合并成音乐作品。
当结构化作品是文本作品时,相应的组件内容可以是文本作品的每个段落。当结构化作品是音乐作品时,相应的组件内容可以是文本作品对应的每个音轨文件。
在本说明书实施例中,用户在通过客户端创作结构化作品的过程中,可以在每次完成一个组件内容时,指令客户端获取该组件内容进行后续处理(步骤S102~104)。此外,也可以是,客户端对用户的创作过程进行监控,每当监控到用户创作完成一个组件内容时,获取该组件内容进行后续处理(步骤S102~104)。
在基于区块链的数据存证领域,一般不会存证待存证数据本身,还是存证待存证数据的哈希值。在本说明书实施例中,客户端针对获取的每个组件内容,一般需要计算该组件内容的哈希值(为了描述的方便,本文称之为组件哈希),对该组件哈希进行区块链存证。
S102:基于该组件哈希,构建该组件内容对应的组件存证交易,并将该组件内容对应的组件存证交易发送给区块链网络进行存证。
众所周知,对于区块链网络而言,通常需要使用“交易”这一数据结构来实现对数据的广播、共识以及存证。在本说明书实施例中,客户端针对获取的每个组件内容,在得到该组件内容的组件哈希之后,会构建包含该组件哈希的组件存证交易,并将该组件存证交易提交给区块链网络进行存证。
具体地,客户端可以将该组件存证交易发送给区块链网络中的任一节点,由该节点将该组件存证交易进一步广播区块链网络中的其他节点,接着,区块链网络中的各节点会基于共识机制,将该组件存证交易打包进区块并写入区块链。
需要说明的是,组件存证交易中除了包含组件内容的组件哈希之外,一般还会包含用户的身份信息,如此,组件存证交易被写入区块链中之后,相当于对“用户创作了该组件内容”这一事实进行了存证。
S104:建立该组件内容与所述结构化作品的对应关系并存储。
在本说明书实施例中,为了明确用户在创作所述结构化作品的过程中,已经先行进行区块链存证的每个组件内容是所述结构化作品的组件内容,可以建立每个组件内容与所述结构化作品的对应关系并存储。
如此,虽然所述结构化作品的各组件内容分别对应的组件存证交易是分散存证于区块链中的,但是,依然可以将分散的各组件存证交易映射到所述结构化作品,以证明用户对所述结构化作品拥有著作权。
进一步地,在用户创作完成所述结构化作品之后,客户端还可以对所述结构化作品进行区块链存证。
此外,本文并不对步骤S102与S104的执行先后顺序进行限制。
通过图1所示的方法,对于用户而言,在创作结构化作品的过程中,虽然并没有对结构化作品整体进行区块链存证,但是,用于拼装结构化作品的每个组件内容都会被及时进行区块链存证,这一方面相当于在用户创作结构化作品的过程中,就增量地逐渐完成对结构化作品的区块链存证,另一方面,在用户创作结构化作品的过程中,每个组件内容一旦产生,就可以及时被存证,可以为用户针对单个组件内容主张著作权提供证据。
此外,在本说明书实施例中,客户端针对获取的所述结构化作品的每个组件内容,建立该组件内容与所述结构化作品的对应关系具体可以是:为该组件内容分配标签。其中,该组件内容对应的标签包含所述结构化作品的作品标识。相应地,客户端存储存储该组件内容与所述结构化作品的对应关系,具体可以是存储该组件内容对应的标签。
在本说明书实施例中,针对每个组件内容,还可以建立该组件内容对应的标签与该组件内容对应的组件存证交易的交易哈希之间的对应关系并存储。
下面,分别以所述结构化作品为文本作品或音乐作品为例,进行详细说明。
一、所述结构化作品是文本作品
当所述结构化作品是文本作品时,针对每个组件内容,该组件内容实际上是文本作品的段落。客户端为该组件内容分配标签,实际上是将用户指定的对应于该组件内容的段落路径作为该组件内容对应的标签。
此处需要说明的是,对于结构化编写的文本作品而言,其一般都具有章、节、段等形式的结构划分,段落一般是文本作品的组件内容,至少一个段落可以集结成一节,至少一节可以集结成一章,各章最终集结成文本作品。而某个段落对应的段落路径是指,该段落的标识、该段落所属的节的标识、该节所属的章的标识以及该章所属的文本作品的标识组成的路径。
例如,用户想要创作一篇论文,用户在创作第一章第一节第一段时,为当前创作的段落指定的段落路径为txt-1-1-1。类似的,用户在创作第一章第一节第二段时,为当前创作的段落指定的段落路径为txt-1-1-2,用户在创作第二章第二节第三段时,为当前创作的段落指定的段落路径为txt-2-2-3。当然,本领域技术人员应当理解,所述文本作品也可以只有章没有节,或者既没有章,也没有节,相应的段落路径也可以基于本文所述的原理得到,不再赘述。
图2是本说明书实施例提供的文本作品的树形结构示意图。如图2所示,文本作品txt共有3章,其中,第一章txt-1共有两节(txt-1-1与txt-1-2),第二章共有一节(txt-2-1),第三章共有三节(txt-3-1、txt-3-2、txt-3-3)。第一章第一节共有两个段落(txt-1-1-1与txt-1-1-2),第一章第二节共有一个段落(txt-1-2-1),第二章第一节共有一个段落(txt-2-1-1),第三章第一节共有两个段落(txt-3-1-1与txt-3-1-2),第三章第二节共有一个段落(txt-3-2-1),第三章第三节共有一个段落(txt-3-3-1)。可见,结构化编写的文本作品的作品、章、节、段可组织为树形结构。
进一步地,在本说明书实施例中,可以基于文本作品本身具有的树形结构构建用于表征所述文本作品的哈希树。具体地,在用户通过客户端创作结构化作品完成之后,所述客户端根据各组件内容分别对应的段落路径,确定所述结构化作品中各组件内容的先后顺序;根据各组件内容的先后顺序,由先到后对各组件内容分别对应的组件哈希进行排序,得到第一序列;基于所述第一序列,构建哈希树;基于所述哈希树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
其中,在所述哈希树中,根节点与所述结构化作品相对应,各叶子节点与各组件哈希一一对应。针对每个叶子节点,根节点与该叶子节点之间的路径与该叶子节点对应的组件哈希的段落路径一致。该叶子节点对应的组件哈希的段落路径是指该叶子节点上的组件内容所对应的段落路径。也就是说,所述哈希树的构建过程实际上是:针对图2所示的树形结构,将每个段落对应的组件哈希代入,进而自下而上进一步求解每个节的哈希值、每个章的哈希值、文本作品txt的哈希值。
基于图2所示的文本作品,本说明书实施例对应提供了对应于所述文本作品的哈希树,如图3所示。在图3所示的哈希树中,每个父节点的哈希值是对其各子节点的哈希值进行哈希运算得到的。下表1示出了图2与图3的映射关系。
txt |
hash18 |
txt-1 |
hash15 |
txt-2 |
hash16 |
txt-3 |
hash17 |
txt-1-1 |
hash9 |
txt-1-2 |
hash10 |
txt-2-1 |
hash11 |
txt-3-1 |
hash12 |
txt-3-2 |
hash13 |
txt-3-3 |
hash14 |
txt-1-1-1 |
hash1 |
txt-1-1-2 |
hash2 |
txt-1-2-1 |
hash3 |
txt-2-1-1 |
hash4 |
txt-3-1-1 |
hash5 |
txt-3-1-2 |
hash6 |
txt-3-2-1 |
hash7 |
txt-3-3-1 |
hash8 |
表1
显然,如3所示的哈希树的根哈希可以唯一表示如图2所示的文本作品。基于该根哈希构建文件存证交易并发送给区块链网络,可以实现对所述文本作品进行存证。
此处对使用图3所示的哈希树代表文本作品的优势进行说明。由于作品创作并不是一蹴而就的,用户在创作文本作品的过程中,可能会对文本作品进行反复修改。这种情况下,如果不采用上述的哈希树表示文本作品,那么,用户哪怕对所述文本作品进行一丁点修改,客户端都需要对文本作品全文进行哈希运算,得到文本作品的哈希值,然后基于文本作品的哈希值再次构建文件存证交易。
而如果采用上述的哈希树表示文本作品,那么,可以仅将哈希树中用户修改的段落对应的组件哈希进行替换,相应地,仅需要对所述哈希树中与被修改的段落有关的哈希值进行更新即可。例如,参见图2,用户对txt-3-1-1进行了修改,相应地,仅需要重新计算txt-3-1-1的组件哈希即可,计算量较小。接着,图3中的哈希树中对应于txt-3-1-1的hash5被更新,那么,仅需要相应对hash12、hash17与hash18进行更新即可。
也就是说,在本说明书实施例中,当用户通过客户端对所述结构化作品中的任一组件内容进行修改时,根据修改后的该组件内容的组件哈希,更新所述哈希树;然后,基于更新后的所述哈希树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
此外,有时,用户在创作所述文本作品的过程中,会向所述文本作品中增加段落。此处分为两种情况:
情况1、用户向所述文本作品的某个章节的末尾增加段落。这种情况下,新增的段落并不会破坏既有的段落路径体系。例如,参见图2,假设用户在第一章第二节第一段后增加段落,该段落依然属于第一章第二节,那么,可以对图2所示的树结构进行更新,得到图4。图4中的txt-1-2-2就是新增加的段落。相应的,计算txt-1-2-2的组件哈希,并添加到图3所示的哈希树中,得到图5。图5中的hash19就是txt-1-2-2的组件哈希,此外,还需要对hash10、hash15以及hash18进行相应的更新。
情况2、用户向所述文本作品的某个章节下的两个段落之间插入新增的段落。这种情况下,新增的段落对应的标签(段落路径)需要满足指定规则。所述指定规则可以是,新增的段落的段落编号为前一段落的段落编号与后一段落的段落编号的平均值。
例如,参见图2,假设用户在第一章第一节第一段txt-1-1-1(段落编号是1)与第一章第一节第二段txt-1-1-2(段落编号是2)之间增加段落,那么,新增的段落对应的段落路径为txt-1-1-1.5。如图6所示。相应的,计算txt-1-1-1.5的组件哈希,并添加到图3所示的哈希树中,得到图7。图7中的hash19就是txt-1-1-1.5的组件哈希,此外,还需要对hash9、hash15以及hash18进行相应的更新。
综合上述情况1与情况2,客户端实际上执行以下步骤:
当用户通过客户端为所述结构化作品增加任一组件内容时,根据用户指定的该组件内容对应的段落路径,确定该组件内容对应的组件哈希相对于所述第一序列中的每个组件哈希的先后顺序;根据该组件内容对应的组件哈希相对于所述第一序列中的每个组件哈希的先后顺序,将该组件内容对应的组件哈希插入所述第一序列;基于更新后的所述第一序列,更新所述哈希树;基于更新后的所述哈希树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
二、所述结构化作品是音乐作品
当所述结构化作品是文本作品时,针对每个组件内容,该组件内容实际上是音乐作品对应的音轨文件。客户端为该组件内容分配标签,实际上是将用户指定的对应于该组件内容的音轨编号作为该组件内容对应的标签。
在用户通过客户端创作结构化作品完成之后,所述客户端根据各组件内容分别对应的音轨编号,确定各组件内容的先后顺序;根据各组件内容的先后顺序,由先到后对各组件内容分别对应的组件哈希进行排序,得到第二序列;基于所述第二序列,构建梅克尔树;基于所述梅克尔树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
图8是本说明书实施例提供的音乐作品对应的梅克尔树示意图。如图8所示,hash1~hash4分别是音乐作品对应的音轨文件1~4分别对应的组件哈希。hash5是对hash1与hash4进行哈希计算得到的,hash6是对hash3与hash4进行哈希计算得到。hash7是对hash5与hash6进行哈希计算得到的。
当用户通过客户端对所述结构化作品中的任一组件内容进行修改时,可以根据修改后的该组件内容的组件哈希,更新所述梅克尔树;然后,基于更新后的所述梅克尔树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
当用户通过客户端为所述结构化作品增加任一组件内容时,将该组件内容对应的组件哈希插入到所述第二序列的尾部;基于更新后的所述第二序列,更新所述梅克尔树;然后基于更新后的所述梅克尔树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
具体可参见前文针对文本作品的相关说明,原理类似不再赘述。
另外,不论所述结构化作品是文本作品还是音乐作品,当用户通过客户端为所述结构化作品增加任一组件内容时,客户端可以计算该组件内容的组件哈希;基于该组件哈希,构建该组件内容对应的组件存证交易,并将该组件内容对应的组件存证交易发送给区块链网络进行存证;以及,建立该组件内容与所述结构化作品的对应关系并存储。
还有,客户端针对每个组件内容对应的组件存证交易,建立该组件存证交易的交易哈希与构建的文件存证交易的交易哈希之间的对应关系并存储。如此,可以在区块链交易的层面上,建立结构化作品与各组件内容的映射。
此外,在实践中,用户每修改结构化作品一次,客户端都可以对本次修改进行记录。具体地,可以记录用户每次修改后的结构化作品对应的根哈希,相当于记录了用户在创作结构化作品的整个过程中,结构化作品的每个迭代版本。
图9是本说明书实施例提供的一种基于区块链对结构化作品进行存证的装置的结构示意图,所述装置包括:
获取计算模块901,在用户通过客户端创作结构化作品的过程中,针对用户创作的每个组件内容,获取该组件内容,并计算该组件内容的组件哈希;
构建发送模块902,基于该组件哈希,构建该组件内容对应的组件存证交易,并将该组件内容对应的组件存证交易发送给区块链网络进行存证;
建立存储模块903,建立该组件内容与所述结构化作品的对应关系并存储。
所述建立存储模块903,为该组件内容分配标签;该组件内容对应的标签包含所述结构化作品的作品标识;存储该组件内容对应的标签。
所述建立存储模块903,建立该组件内容对应的标签与该组件内容对应的组件存证交易的交易哈希之间的对应关系并存储。
所述结构化作品为文本作品;针对用户创作的每个组件内容,该组件内容为所述文本作品的段落;
所述建立存储模块903,将用户指定的对应于该组件内容的段落路径作为该组件内容对应的标签。
所述装置还包括:
第一处理模块904,在用户通过客户端创作结构化作品完成之后,所述客户端根据各组件内容分别对应的段落路径,确定所述结构化作品中各组件内容的先后顺序;根据各组件内容的先后顺序,由先到后对各组件内容分别对应的组件哈希进行排序,得到第一序列;基于所述第一序列,构建哈希树;其中,在所述哈希树中,根节点与所述结构化作品相对应,各叶子节点与各组件哈希一一对应;针对每个叶子节点,根节点与该叶子节点之间的路径与该叶子节点对应的组件哈希的段落路径一致;基于所述哈希树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
所述第一处理模块904,当用户通过客户端对所述结构化作品中的任一组件内容进行修改时,根据修改后的该组件内容的组件哈希,更新所述哈希树;基于更新后的所述哈希树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
所述第一处理模块904,当用户通过客户端为所述结构化作品增加任一组件内容时,根据用户指定的该组件内容对应的段落路径,确定该组件内容对应的组件哈希相对于所述第一序列中的每个组件哈希的先后顺序;根据该组件内容对应的组件哈希相对于所述第一序列中的每个组件哈希的先后顺序,将该组件内容对应的组件哈希插入所述第一序列;基于更新后的所述第一序列,更新所述哈希树;基于更新后的所述哈希树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
所述结构化文本为基于音序器编辑的音乐作品;针对用户创作的每个组件内容,该组件内容为所述音乐作品对应的音轨文件;
所述建立存储模块903,将对应于该组件内容的音轨编号作为该组件内容对应的标签。
所述装置还包括:
第二处理模块905,在用户通过客户端创作结构化作品完成之后,所述客户端根据各组件内容分别对应的音轨编号,确定各组件内容的先后顺序;根据各组件内容的先后顺序,由先到后对各组件内容分别对应的组件哈希进行排序,得到第二序列;基于所述第二序列,构建梅克尔树;基于所述梅克尔树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
所述第二处理模块905,当用户通过客户端对所述结构化作品中的任一组件内容进行修改时,根据修改后的该组件内容的组件哈希,更新所述梅克尔树;基于更新后的所述梅克尔树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
所述第二处理模块905,当用户通过客户端为所述结构化作品增加任一组件内容时,将该组件内容对应的组件哈希插入到所述第二序列的尾部;基于更新后的所述第二序列,更新所述梅克尔树;基于更新后的所述梅克尔树的根节点对应的根哈希构建文件存证交易,并将构建的文件存证交易发送给所述区块链网络进行存证。
所述获取计算模块901,当用户通过客户端为所述结构化作品增加任一组件内容时,计算该组件内容的组件哈希;
所述构建发送模块902,基于该组件哈希,构建该组件内容对应的组件存证交易,并将该组件内容对应的组件存证交易发送给区块链网络进行存证;
所述建立存储模块903,建立该组件内容与所述结构化作品的对应关系并存储。
所述建立存储模块903,针对每个组件内容对应的组件存证交易,建立该组件存证交易的交易哈希与构建的文件存证交易的交易哈希之间的对应关系并存储。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1所示方法的功能。
图10示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1410、存储器1420、输入/输出接口1430、通信接口1440和总线1450。其中处理器1410、存储器1420、输入/输出接口1430和通信接口1440通过总线1450实现彼此之间在设备内部的通信连接。
处理器1410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1420中,并由处理器1410来调用执行。
输入/输出接口1430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1450包括一通路,在设备的各个组件(例如处理器1410、存储器1420、输入/输出接口1430和通信接口1440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1410、存储器1420、输入/输出接口1430、通信接口1440以及总线1450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1所示方法的功能。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。