本发明涉及区块链技术领域,更具体的,涉及一种区块链中信息的发送方法及装置。
背景技术:
在区块链网络中,每个节点都可以与另一个节点建立连接。
现有技术中,当节点是区块链网络的成员时,节点必须维护一个邻居列表。当节点需要发送信息时,以自由或随机的方式在邻居列表中选定若干个邻居节点发送信息。
其中,自由或随机方式选取的邻居节点可能包括与发送信息的节点距离较近的邻居节点,也可能包括与发送信息的节点距离较远的邻居节点。可以理解的是,节点与距离较远的邻居节点通信时信息传输效率较低,这样造成整个区块链网络中信息传输效率低的问题。
技术实现要素:
有鉴于此,本发明提供了一种区块链中信息的发送方法及装置,有效加快了区块链中信息传播效率。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种区块链中信息的发送方法,应用于区块链中的任意一个节点,所述方法包括:
获取节点的邻居列表中每个邻居节点的距离参数值,并更新所述邻居列表,距离参数值表示节点与邻居节点之间的距离;
根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点;
向每个所述目标节点发送信息。
可选的,获取节点的邻居列表中每个邻居节点的距离参数值,并更新所述邻居列表,包括:
在节点向邻居节点发送信息时对节点与邻居节点之间的网络参数进行测量,获取接收到信息的每个邻居节点的距离参数值;
在邻居列表中,对接收到信息的每个邻居节点的距离参数值进行更新,未接收到信息的每个邻居节点的距离参数值保持不变。
可选的,所述距离参数值为时延值或网络带宽值的倒数。
可选的,所述获取接收到信息的每个邻居节点的距离参数值,包括:
获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;
根据时延值和网络带宽值的预设权重,分别对节点与接收到信息的每个邻居节点之间的时延值和网络带宽值进行加权求和,得到接收到信息的每个邻居节点的距离参数值。
可选的,所述获取接收到信息的每个邻居节点的距离参数值,包括:
获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;
分别计算节点与接收到信息的每个邻居节点之间的时延值与网络带宽值的比值,得到接收到信息的每个邻居节点的距离参数值。
可选的,所述根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点,包括:
按距离参数值由小到大的顺序对列表中的邻居节点进行排序,按排序选取预设数量的邻居节点作为目标节点。
可选的,所述根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点,包括:
根据所述邻居列表中每个邻居节点的距离参数值,将距离参数值小于预设值的邻居节点作为目标节点。
可选的,所述方法还包括:
当节点接入网络时,初始化邻居列表,为邻居列表中的每个邻居节点赋予一个无穷大的距离参数值。
一种区块链中信息的发送装置,包括:
参数获取单元,用于获取节点的邻居列表中每个邻居节点的距离参数值,并更新所述邻居列表,距离参数值表示节点与邻居节点之间的距离;
节点选取单元,用于根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点;
信息发送单元,用于向每个所述目标节点发送信息。
可选的,所述参数获取单元,具体用于在节点向邻居节点发送信息时对节点与邻居节点之间的网络参数进行测量,获取接收到信息的每个邻居节点的距离参数值;在邻居列表中,对接收到信息的每个邻居节点的距离参数值进行更新,未接收到信息的每个邻居节点的距离参数值保持不变。
可选的,所述距离参数值为时延值或网络带宽值的倒数。
可选的,所述参数获取单元,具体用于获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;根据时延值和网络带宽值的预设权重,分别对节点与接收到信息的每个邻居节点之间的时延值和网络带宽值进行加权求和,得到接收到信息的每个邻居节点的距离参数值。
可选的,所述参数获取单元,具体用于获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;分别计算节点与接收到信息的每个邻居节点之间的时延值与网络带宽值的比值,得到接收到信息的每个邻居节点的距离参数值。
可选的,所述节点选取单元,具体用于按距离参数值由小到大的顺序对列表中的邻居节点进行排序,按排序选取预设数量的邻居节点作为目标节点。
可选的,所述节点选取单元,具体用于根据所述邻居列表中每个邻居节点的距离参数值,将距离参数值小于预设值的邻居节点作为目标节点。
可选的,所述装置还包括:
初始化单元,用于当节点接入网络时,初始化邻居列表,为邻居列表中的每个邻居节点赋予一个无穷大的距离参数值。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种区块链中信息的发送方法,应用于区块链中的任意一个节点,在节点向邻居节点发送信息之前,通过获取节点的邻居列表中每个邻居节点的距离参数值客观的评估节点与每个邻居节点之间的距离,优先选择近的邻居节点作为信息发送的目标节点,解决了现有技术中自由或随机方式选取邻居节点发送消息造成的区块链中信息传输效率低的问题,有效加快了区块链中信息的传播效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种区块链中信息的发送方法流程示意图;
图2为本发明实施例公开的又一种区块链中信息的发送方法流程示意图;
图3为本发明实施例公开的一种区块链中信息的发送装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例公开了一种区块链中信息的发送方法,应用于区块链中的任意一个节点,以下为了方便说明,将发送信息的节点,即实施例的执行主体,以初始节点进行表示,请参阅图1,所述方法具体包括以下步骤:
s101:获取初始节点的邻居列表中每个邻居节点的距离参数值,并更新邻居列表;
其中,距离参数值表示初始节点与邻居节点之间的距离,需要说明的是,这里节点之间的距离并不是节点之间物理距离,而是指节点之间的信息传输距离。可以理解的是,邻居节点的距离参数值越小,表示该邻居节点与初始节点之间的信息传输距离越小,信息传输的越快。
还需要说明的是,获取初始节点的邻居列表中每个邻居节点的距离参数值的方式可以有多种,如:初始节点在空闲时,即初始节点在不发送信息时,获取初始节点的邻居列表中的所有邻居节点的距离参数值,或者为了降低初始节点的数据处理压力,在初始节点在发送信息的同时获取接收到信息的每个邻居节点的距离参数值,初始节点的邻居列表中的其他邻居节点的距离参数值由初始节点从邻居列表中直接获取。
s102:根据邻居列表中每个邻居节点的距离参数值,选取多个与初始节点之间距离相近的邻居节点作为目标节点;
根据邻居列表中的每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点也可以由多种实现方式,下面以两种方式进行举例介绍。
方式一
按距离参数值由小到大的顺序对列表中的邻居节点进行排序,按排序选取预设数量的邻居节点作为目标节点。
如,初始节点的邻居列表中有20个邻居节点,按距离参数值由小到大的顺序对列表中的邻居节点进行排序之后,在初始节点的邻居列表中从排序中选取前10个邻居节点作为目标节点。
这种方式的优势是,初始节点每次向相同数量的目标节点发送信息。
方式二
根据初始节点的邻居列表中每个邻居节点的距离参数值,将距离参数值小于预设值的邻居节点作为目标节点。
如,分别判断初始节点的邻居列表中每个邻居节点的距离参数值是否小于预设值,将小于预设值的邻居节点选取出来作为目标节点。
这种方式的优势是,由于每次选取的目标节点的距离参数值都是小于预设值的,因此,初始节点每次发送信息到目标节点的时间相对稳定。
s103:向每个目标节点发送信息。
本实施例公开的一种区块链中信息的发送方法,应用于区块链中的任意一个节点,在初始节点向邻居节点发送信息之前,通过获取初始节点的邻居列表中每个邻居节点的距离参数值客观的评估初始节点与每个邻居节点之间的距离,优先选择近的邻居节点作为信息发送的目标节点,解决了现有技术中自由或随机方式选取邻居节点发送消息造成的区块链中信息传输效率低的问题,有效加快了区块链中信息的传播效率。
需要补充说明的是,本实施例中的信息发送可以为初始节点接入网络时第一次发送信息,也可以不是第一次发送信息。请参阅图2,当初始节点接入网络时第一次发送信息时,区块链中信息的发送方法包括以下步骤:
s201:当初始节点接入网络时,初始化邻居列表,为邻居列表中的每个邻居节点赋予一个无穷大的距离参数值;
s202:获取初始节点的邻居列表中每个邻居节点的距离参数值,并更新邻居列表;
s203:根据邻居列表中每个邻居节点的距离参数值,选取多个与初始节点之间距离相近的邻居节点作为目标节点;
s204:向每个目标节点发送信息。
需要说明的是,当初始节点接入网络时,需要初始化邻居列表,邻居列表中的每个邻居节点都可以为区块链中除初始节点之外的任意一个节点。实际应用中,邻居列表中的每个邻居节点是系统依据一定原则分配给目标节点的。
在初始化邻居列表时为邻居列表中的每个邻居节点赋予一个无穷大的距离参数值,分别对初始节点与邻居列表中每个邻居节点之间的网络参数进行测量,获取每个邻居节点的距离参数值,在邻居列表中,对每个邻居节点的距离参数值进行更新,即,将每个邻居节点被赋予的无穷大距离参数值替换为检测得到的相应的距离参数值。之后根据邻居列表中每个邻居节点的距离参数值,选取多个邻居节点作为目标节点,向每个目标节点发送信息。
当初始节点并不是第一次发送信息时,初始节点的邻居列表中每个邻居节点的距离参数值已经不是初始被赋予的无穷大的距离参数值。此时,根据邻居列表中每个邻居节点的距离参数值,选取多个邻居节点作为目标节点,向每个目标节点发送信息,在向每个目标节点发送信息的同时对初始节点与目标节点之间的网络参数进行测量,获取接收到信息的每个邻居节点的距离参数值,在邻居列表中,对接收到信息的每个邻居节点的距离参数值进行更新,未接收到信息的每个邻居节点的距离参数值保持不变。可以理解的是,初始节点与每个邻居节点之间的网络参数是实时变化的,因此,初始节点在每次发送信息后得到的邻居列表中邻居节点的距离参数值都可能发生变化,从而初始节点每次从邻居列表中选取的目标节点都可能不同,但每次都会优先选择近的邻居节点作为信息发送的目标节点,有效加快了区块链中信息传播效率。
还需要说明的是,初始节点与邻居节点之间的距离有多种度量方法,即距离参数由多种表现形式。本实施例以下面四种方式进行举例说明。
方式一
对初始节点与邻居节点之间的网络参数进行测量,获取每个邻居节点的时延值,如rtt(英文全称:round-triptime,中文全称:往返时延),并将时延值作为距离参数值。
时延值的测量方法是在发送的消息中附加时间戳,接收端在反馈消息中保留该时间戳。其中,发送端为初始节点,接收端为邻居节点。在发送端收到反馈后,以当前时间与时间戳的差值表示初始节点与邻居节点之间的时延值。这种方法无需初始节点和邻居节点双方使用专门的测量分组,是一种轻量级但可靠的测量方法,其中时延值越小表示初始节点与邻居节点之间的距离越近。
其中,rtt在计算机网络中是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。可以理解的是,这里的发送端为初始节点,接收端为目标节点。
方式二
对初始节点与邻居节点之间的网络参数进行测量,获取初始节点与每个邻居节点之间的网络带宽值,并将网络带宽值的倒数作为距离参数值。
可以理解的是,网络带宽值表示单位时间能通过链路的数据量,网络带宽值越大信息传输越快,即,网络带宽值越大初始节点与邻居节点之间的距离越近,初始节点与邻居节点之间的距离与网络带宽值成反比。由于距离参数值表示初始节点与邻居节点之间的距离,因此,将网络带宽值的倒数作为距离参数值。
方式三
对初始节点与邻居节点之间的网络参数进行测量,获取初始节点与每个邻居节点之间的时延值和网络带宽值,根据时延值和网络带宽值的预设权重,分别对初始节点与邻居节点之间的时延值和网络带宽值进行加权求和,得到每个邻居节点的距离参数值。
其中,时延值和网络带宽值的预设权重是系统预先设定的。
需要说明的是,距离参数值表示初始节点与邻居节点之间的距离,因此,距离参数值越小表示初始节点与邻居节点之间的距离越近,时延值越小表示初始节点与邻居节点之间的距离越近,网络带宽值越大表示初始节点与邻居节点之间的距离越近。因此,初始节点与邻居节点之间的距离与时延值成正比,初始节点与邻居节点之间的距离与网络带宽值成反比,即,距离参数值与时延值成正比,距离参数值与网络带宽值成反比。
在此基础上,具体的,对初始节点与邻居节点之间的时延值和网络带宽值进行加权求和的一种实施方式为:
s1=doff+kbw
其中,s1为距离参数值,doff为时延值,单位为ms,bw为网络带宽值,单位为mb/s,k小于零。
方式四
对初始节点与邻居节点之间的网络参数进行测量,获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值,需要说明的是,初始节点与邻居节点之间的距离与时延值成正比,初始节点与邻居节点之间的距离与网络带宽值成反比,在此基础上分别计算节点与接收到信息的每个邻居节点之间的时延值与网络带宽值的比值,得到接收到信息的每个邻居节点的距离参数值。
计算节点与接收到信息的邻居节点之间的时延值与网络带宽值的比值具体为:
s1=doff/bw
其中,s1为距离参数值,doff为时延值,单位为ms,bw为宽bw,单位为mb/s。
以上四种方式是本实施例中距离参数值的四种可选方式,本发明并不以此为限。
本实施例公开的区块链中信息的发送方法通过在向邻居节点发送信息之前客观的评估与邻居节点之间的距离,优先选择近的邻居节点作为信息发送的目标节点,有效加快了区块链中信息传播效率。
基于上述实施例公开的区块链中信息的发送方法,请参阅图3,本实施例对应公开了一种区块链中信息的发送装置,包括:
参数获取单元301,用于获取节点的邻居列表中每个邻居节点的距离参数值,并更新所述邻居列表,距离参数值表示节点与邻居节点之间的距离;
可选的,所述参数获取单元301,具体用于在节点向邻居节点发送信息时对节点与邻居节点之间的网络参数进行测量,获取接收到信息的每个邻居节点的距离参数值;在邻居列表中,对接收到信息的每个邻居节点的距离参数值进行更新,未接收到信息的每个邻居节点的距离参数值保持不变。
可选的,所述距离参数值为时延值或网络带宽值的倒数;
可选的,所述参数获取单元301,具体用于获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;根据时延值和网络带宽值的预设权重,分别对节点与接收到信息的每个邻居节点之间的时延值和网络带宽值进行加权求和,得到接收到信息的每个邻居节点的距离参数值。
可选的,所述参数获取单元301,具体用于获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;分别计算节点与接收到信息的每个邻居节点之间的时延值与网络带宽值的比值,得到接收到信息的每个邻居节点的距离参数值。
节点选取单元302,用于根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点;
可选的,所述节点选取单元302,具体用于按距离参数值由小到大的顺序对列表中的邻居节点进行排序,按排序选取预设数量的邻居节点作为目标节点。
可选的,所述节点选取单元302,具体用于根据所述邻居列表中每个邻居节点的距离参数值,将距离参数值小于预设值的邻居节点作为目标节点。
信息发送单元303,用于向每个所述目标节点发送信息。
可选的,所述装置还包括:
初始化单元,用于当节点接入网络时,初始化邻居列表,为邻居列表中的每个邻居节点赋予一个无穷大的距离参数值;分别检测节点与邻居列表中每个邻居节点之间的网络状态,获取每个邻居节点的距离。
本实施例公开的一种区块链中信息的发送装置,应用于区块链中的任意一个节点,在节点向邻居节点发送信息之前,通过获取节点的邻居列表中每个邻居节点的距离参数值客观的评估节点与每个邻居节点之间的距离,优先选择近的邻居节点作为信息发送的目标节点,解决了现有技术中自由或随机方式选取邻居节点发送消息造成的区块链中信息传输效率低的问题,有效加快了区块链中信息的传播效率。
所述区块链中信息的发送装置包括处理器和存储器,上述参数获取单元、节点选取单元、信息发送单元和初始化单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高区块链中节点之间的信息传输效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述区块链中信息的发送方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述区块链中信息的发送方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
获取节点的邻居列表中每个邻居节点的距离参数值,并更新所述邻居列表,距离参数值表示节点与邻居节点之间的距离;
根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点;
向每个所述目标节点发送信息。
进一步,获取节点的邻居列表中每个邻居节点的距离参数值,并更新所述邻居列表,包括:
在节点向邻居节点发送信息时对节点与邻居节点之间的网络参数进行测量,获取接收到信息的每个邻居节点的距离参数值;
在邻居列表中,对接收到信息的每个邻居节点的距离参数值进行更新,未接收到信息的每个邻居节点的距离参数值保持不变。
进一步,所述距离参数值为时延值或网络带宽值的倒数。
进一步,所述获取接收到信息的每个邻居节点的距离参数值,包括:
获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;
根据时延值和网络带宽值的预设权重,分别对节点与接收到信息的每个邻居节点之间的时延值和网络带宽值进行加权求和,得到接收到信息的每个邻居节点的距离参数值。
进一步,所述获取接收到信息的每个邻居节点的距离参数值,包括:
获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;
分别计算节点与接收到信息的每个邻居节点之间的时延值与网络带宽值的比值,得到接收到信息的每个邻居节点的距离参数值。进一步,所述根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点,包括:
按距离参数值由小到大的顺序对列表中的邻居节点进行排序,按排序选取预设数量的邻居节点作为目标节点。
进一步,所述根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点,包括:
根据所述邻居列表中每个邻居节点的距离参数值,将距离参数值小于预设值的邻居节点作为目标节点。
进一步,所述方法还包括:
当节点接入网络时,初始化邻居列表,为邻居列表中的每个邻居节点赋予一个无穷大的距离参数值。
本文中的设备可以是服务器、pc、pad、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取节点的邻居列表中每个邻居节点的距离参数值,并更新所述邻居列表,距离参数值表示节点与邻居节点之间的距离;
根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点;
向每个所述目标节点发送信息。
进一步,获取节点的邻居列表中每个邻居节点的距离参数值,并更新所述邻居列表,包括:
在节点向邻居节点发送信息时对节点与邻居节点之间的网络参数进行测量,获取接收到信息的每个邻居节点的距离参数值;
在邻居列表中,对接收到信息的每个邻居节点的距离参数值进行更新,未接收到信息的每个邻居节点的距离参数值保持不变。
进一步,所述距离参数值为时延值或网络带宽值的倒数。
进一步,所述获取接收到信息的每个邻居节点的距离参数值,包括:
获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;
根据时延值和网络带宽值的预设权重,分别对节点与接收到信息的每个邻居节点之间的时延值和网络带宽值进行加权求和,得到接收到信息的每个邻居节点的距离参数值。
进一步,所述获取接收到信息的每个邻居节点的距离参数值,包括:
获取节点与接收到信息的每个邻居节点之间的时延值和网络带宽值;
分别计算节点与接收到信息的每个邻居节点之间的时延值与网络带宽值的比值,得到接收到信息的每个邻居节点的距离参数值。进一步,所述根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点,包括:
按距离参数值由小到大的顺序对列表中的邻居节点进行排序,按排序选取预设数量的邻居节点作为目标节点。
进一步,所述根据所述邻居列表中每个邻居节点的距离参数值,选取多个与节点之间距离相近的邻居节点作为目标节点,包括:
根据所述邻居列表中每个邻居节点的距离参数值,将距离参数值小于预设值的邻居节点作为目标节点。
进一步,所述方法还包括:
当节点接入网络时,初始化邻居列表,为邻居列表中的每个邻居节点赋予一个无穷大的距离参数值。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。