文档协同编辑方法、装置、存储介质及电子设备
技术领域
本公开涉及文档编辑领域,更具体地说,涉及一种文档协同编辑方法、装置、存储介质及电子设备。
背景技术
在协同编辑的应用中,服务器需要将多个操作端的操作信息转发给与之协同的操作端。为了消息的实时性,通常会使用WebSocket等长链接的方式实现消息推送。但是消息传输通道由于网络抖动,服务稳定性,或者消息通道的限制(如消息体大小)等原因,成服务器在下发消息过程中会出现消息丢失或者乱序的情况,此时操作端接收到的消息出现丢失或乱序,而影响编辑结果。
发明内容
本公开要解决的技术问题在于,针对现有技术的上述技术缺陷,提供一种文档协同编辑方法、装置、存储介质及电子设备。
本公开解决其技术问题所采用的技术方案是:构造一种文档协同编辑方法,包括:包括以下步骤:
获取第一文档并在所述第一文档中增加第一标记,发送所述第一文档至至少两个操作端以生成第二文档并在所述第二文档中增加第二标记;
接收第一操作端对其第二文档的修改信息,并在所述修改信息中增加第三标记;
根据所述修改信息修改所述第一文档,并依照预设规则修改所述第一文档的第一标记,使修改后的所述修改后的第一文档的第一标记与所述修改信息的第三标记对应;
发送所述修改信息至第二操作端,以根据所述修改信息修改所述第二操作端第二文档,并修改所述第二操作端第二文档的第二标记,使其第二文档的第二标记与所述修改后的第一文档的第一标记对应。
优选地,所述方法还包括:
依照预设条件发送所述修改后的第一文档的第一标记至所述第二操作端,并确认第二操作端第二文档的第二标记与所述修改后的第一文档的第一标记是否对应;
当不对应时,计算所述修改后的第一文档的第一标记对应的第三标记与所述第二操作端第二文档的第二标记对应的第三标记的差异,根据该差异获取对应的修改信息。
优选地,所述在所述第一文档中增加第一标记,包括:
依据所述第一文档的属性、在所述第一文档中增加与所述属性对应的第一标记;
所述在所述第二文档中增加第二标记,包括:
在所述第二文档中增加与所述属性对应的第二标记;
所述在所述修改信息中增加第三标记,包括:
在所述修改信息中增加与所述属性对应的第三标记。
优选地,所述在所述第一文档中增加第一标记包括:在所述第一文档中增加第一文档版本号;
所述在所述第二文档中增加第二标记包括:在所述第二文档中增加第二文档版本号;
在所述修改信息中增加第三标记包括:依次在所述修改信息中增加修改信息版本号,所述修改信息版本号依照所述修改信息的时间顺序递增;
所述依照预设规则修改所述第一文档的第一标记,使修改后的第一文档的第一标记与所述第三标记对应,包括:
根据所述修改信息修改第一文档版本号,使修改后的第一文档的第一文档版本号与所述修改信息版本号相同。
优选地,所述修改第二操作端第二文档的第二标记,使其第二文档的第二标记与所述修改后的第一文档的第一标记对应包括:
修改所述第二操作端的第二文档版本号,使所述其第二文档版本号与所述修改后的第一文档的第一文档版本号相同。
优选地,所述确认所述第二操作端第二文档的第二标记与所述修改后的第一文档的第一标记是否对应;包括:
确认所述第二操作端第二文档版本号与所述修改后的第一文档的第一文档版本号是否相同;
所述计算所述修改后的第一文档的第一标记对应的第三标记与所述第二操作端第二文档的第二标记对应的第三标记的差异,根据该差异获取对应的修改信息以修改第二操作端的第二文档,并修改所述第二操作端第二文档的第二标记与所述修改后的第一文档的第一标记对应,包括:
计算所述第二操作端第二文档版本号与所述修改后的第一文档的第一文档版本号之间缺少的版本号,获取缺少的版本号所对应的修改信息,依照该版本号顺序依次修改所述第二操作端第二文档,并且将所述第二操作端第二文档版本号修改为所述修改后的第一文档的第一文档版本号。
优选地,所述发送所述修改信息至第二操作端包括:
通过第一通道主动发送所述修改信息至所述第二操作端,或
根据所述第二操作端请求通过第二通道发送所述修改信息。
本公开还构造一种文档协同编辑装置,包括:
获取单元,用于获取并存储第一文档;
第一修改单元,用于在所述第一文档中增加第一标记;
第一执行单元,用于发送第一文档至至少两个操作端以生成第二文档并在所述第二文档中增加第二标记;
第二修改单元,用于接收第一操作端对所述第二文档的修改信息,并在所述修改信息中增加第三标记;
第三修改单元,用于根据所述修改信息修改第一文档并依照预设规则修改所述第一文档的第一标记,使修改后的第一文档的第一标记与所述修改信息的第三标记对应;
第二执行单元,用于发送所述修改信息至第二操作端,以根据所述修改信息修改所述第二操作端第二文档,并修改所述第二操作端第二文档的第二标记,以使修改后的第二文档的第二标记与所述修改后的第一文档的第一标记对应。
可选的,本公开的一种文档协同编辑装置还包括:
第一发送单元,用于依照预设条件发送所述修改后的第一文档的第一标记至所述第二操作端;
判断单元,用于确认第二操作端第二文档的第二标记与所述修改后的第一文档的第一标记是否对应;
计算单元,用于在所述判断单元输出为否时,计算所述修改后的第一文档的第一标记对应的第三标记与所述第二操作端第二文档的第二标记对应的第三标记的差异,根据该差异获取对应的修改信息。
可选的,
所述第一修改单元包括第一添加单元,所述第一添加单元用于依据所述第一文档的属性、在所述第一文档中增加与所述属性对应的第一标记;
所述第一执行单元包括第二添加单元,所述第二添加单元用于在所述第二文档中增加与所述属性对应的第二标记;
所述第二修改单元包括第三添加单元,所述第三添加单元用于在所述修改信息中增加与所述属性对应的第三标记。
可选的,
所述第一修改单元包括第四添加单元,所述第四添加单元用于在所述第一文档中增加第一文档版本号;
所述第一执行单元包括第五添加单元,所述第五添加单元用于在所述第二文档中增加第二文档版本号;
所述第二修改单元包括第六添加单元,所述第六添加单元用于依次在所述修改信息中增加修改信息版本号,所述修改信息版本号依照所述修改信息的时间顺序递增;
所述第三修改单元包括第四修改单元,所述第四修改单元用于根据所述修改信息修改第一文档版本号,使修改后的第一文档的第一文档版本号与所述修改信息版本号相同。
可选的,
所述第二执行单元包括第五修改单元,所述第五修改单元用于修改所述第二操作端的第二文档版本号,使所述其第二文档版本号与所述修改后的第一文档的第一文档版本号相同。
可短的,
所述判断单元包括第一判断单元,所述第一判断单元用于确认所述第二操作端第二文档版本号与所述修改后的第一文档的第一文档版本号是否相同;
所述计算单元包括第一计算单元,所述第一计算单元用于计算所述第二操作端第二文档版本号与所述修改后的第一文档的第一文档版本号之间缺少的版本号,获取缺少的版本号所对应的修改信息;
所述第二执行单元包括第六修改单元,所述第六修改单元用于依照该版本号顺序依次修改所述第二操作端第二文档,并且将所述第二操作端第二文档版本号修改为所述修改后的第一文档的第一文档版本号。
可选的,
所述第二执行单元包括第二发送端,所述第二发送端用于通过第一通道主动发送所述修改信息至所述第二操作端;或
所述第二执行单元包括第三发送端,所述第三发送端用于根据所述第二操作端请求通过第二通道发送所述修改信息。
本公开还构造一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上面任意一项所述的文档协同编辑方法。
本公开还构造一种电子设备,包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序实现如上面任一项所述的文档协同编辑方法。
实施本公开的文档协同编辑方法、装置、存储介质及电子设备,具有以下有益效果:能够保证操作端按照修改信息的生成顺序接收到消息序列,且减少或避免操作端丢失修改信息的概率,保证修改信息到达操作端。
附图说明
下面将结合附图及实施例对本公开作进一步说明,附图中:
图1是本公开一实施例提供的文档协同编辑方法的程序流程图;
图2是本公开另一实施例提供的文档协同编辑方法的程序流程图;
图3是本公开另一实施例提供的文档协同编辑方法的步骤示意图;
图4是本公开另一实施例提供的文档协同编辑方法的步骤示意图;
图5是本公开另一实施例提供的文档协同编辑方法的工作示意图;
图6是本公开另一实施例提供的文档协同编辑方法的工作示意图;
图7是本公开实施例提供的电子装备的结构示意图。
具体实施方式
为了对本公开的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本公开的具体实施方式。
如图1所示,在本公开第一实施例提供的的文档协同编辑方法中,包括:S1、获取第一文档并在第一文档中增加第一标记,发送第一文档至至少两个操作端以生成第二文档并在第二文档中增加第二标记;具体的,服务器获取需要编辑的第一文档,在该文档中增加第一标记,然后操作端这里可以理解为客户端从服务器上获取该文档,即为操作端对应的第二文档,操作端对该第二文档进行操作,同时操作端在其第二文档中增加第二标记。还可以理解,如图4所示,这里的操作端可以为一个或者多个,对于协同编辑时,这里的操作端至少为两个,每个操作端都可以从服务器上获取该文档,每个操作端从服务器获取第一文档后均作为与该操作端对应的第二文档,每个操作端都可以对其对应的第二文档进行独立的编辑修改。
S2、接收第一操作端对其第二文档的修改信息,并在修改信息中增加第三标记;具体的,用户通过一个操作端对其对应的第二文档进行修改,其修改信息通过该操作端与服务器的网络连接发送至服务器,服务器接收到该修改信息后,会对修改信息进行单独标记,例如对该修改信息增加与修改信息对应的第三标记。这里还可以理解,这里有多个操作端均对第二文档进行编辑修改,这里服务器接收的修改信息来自多个不同的操作端,服务器会依照接收到该修改信息的顺序对该修改信息进行分别标记,即修改信息的第三标记的规则与其接收到修改信息的时间存在着预定的关系,比如说在第二标记的识别位上递增。
S3、根据修改信息修改第一文档,并依照预设规则修改第一文档的第一标记,使修改后的第一文档的第一标记与修改信息的第三标记对应;具体的,服务器接收到修改信息后,会对对应的第一文档进行修改,同时对第一文档的第一标记进行对应的修改,这里的修改可以依照一定的规则,例如可以根据修改信息的第三标记的更新规则进行变更第一标记。这里服务器接收多个修改信息时,会根据接收到修改信息的时间顺序对第一文档依次进行修改,每修改一次第一文档,便对应修改一次第一文档的第一标记,保证修改信息的第三标记与第一文档的第一标记一一对应。此外在本公开中,修改文档标记和修改文档是同步的。
S4、发送修改信息至第二操作端,以根据修改信息修改第二操作端第二文档,并修改第二操作端第二文档的第二标记,使其第二文档的第二标记与修改后的第一文档的第一标记对应。具体的,当有操作端对服务器文档进行修改时,其他的操作端即第二操作端会从服务器获取该修改信息,这里第二操作端接收修改信息可以为一个或多个,当接收多个修改信息时,会依照修改信息的第三标记的顺序,依次对第二操作端的第二文档进行修改,此外第二操作端根据修改信息修改第二文档时,同时会修改其第二文档的第二标记,使第二文档第二标记与修改信息的第三标记保持一一对应,第一文档接收该修改信息后,对第一文档的第一标记进行修改,使修改后的第一标记也与修改信息的第三标记保持了一一对应,这样就可以保证了第二操作端接收该修改信息后对其第二文档进行修改后的,其第二文档的第二标记与服务器修改后的第一文档的第一标记对应,这样就形成了整个修改过程的协同。这里还可以理解的是,当接收到多个修改信息时,其第二文档的第二标记每一次都会修改,每一次修改后的第二文档的第二标记与修改信息的第三标记也一一对应。而服务器每一次接收修改信息对第一文档进行修改时,其修改后的第一文档的第一标记均与修改信息的第二标记一一对应。
进一步的,如图2所示,在本公开第二实施例提供的的文档协同编辑方法中,还包括以下步骤:
S3-1、依照预设条件发送修改后的第一文档的第一标记至第二操作端,并确认第二操作端第二文档的第二标记与修改后的第一文档的第一标记是否对应;具体的,在对第二操作端的第二文档进行修改之前,第二操作端会按照一定规则从服务器上获取第一文档的第一标记,并且与其第二文档的第二标记对应,如果两个文档的标记对应能够满足规定的对应关系,则可以结束当前编辑。如果两个文档的标记不满足规定的对应关系,则说明该操作端的第二文档与服务器上的文档不是同一文档,或者说该操作端第二文档不是服务器上的文档。这里的预定规则可以为操作端每隔一段时间从服务器上获取一次第一文档的第一标记,或者服务器定时发送其第一文档的第一标记至操作端,这里还可以理解为操作端在接收到服务器发送的修改信息时,从服务器上获取第一标记,以便核对操作端的第二标记与第一标记是否对应,及核对操作端的第二文档和服务器的第一文档是否对应。
S3-2、当不对应时,计算修改后的第一文档的第一标记对应的第三标记与第二操作端第二文档的第二标记对应的第三标记的差异,根据该差异获取对应的修改信息。具体的,在上面的基础上,当操作端的第二文档和服务器的第一文档不对应是,操作端会根据第二文档对应的修改信息,同服务器的第一文档对应的修改信息之间的差异,计算操作端缺少的修改信息,即可以理解操作端遗漏掉的对服务器的修改信息,这里可以理解,修改后的第一文档的第一标记同其接收到的最后一次的修改信息的第三标记相对应,操作端的第二文档的第二文档版本同其获取到的最后一次的修改信息的修改信息的第三标记对应,当当前第一标记与第二标记不对应时,说明客户终端可能遗留了修改信息且没有依照修改信息对第二文档进行修改,计算遗漏的修改信息,即计算操作端和服务器上文档分别对应的修改信息的第三标记,计算两个第三标记的差异,根据该差异即可获取到该遗漏的修改信息,然后执行步骤S4,以从服务器获取对应的修改信息,对第二文档进行修改,并在修改后将第二文档的第二标记修改为与第一文档的第一标记对应。即完成了第二文档和第一文档与修改信息的对应修改,完成整个协同编辑过程。
进一步的,在上面的基础上,在步骤S1中,在第一文档中增加第一标记,包括:依据第一文档的属性,在第一文档中增加与属性对应的第一标记;在第二文档中增加第二标记,包括:在第二文档中增加与属性对应的第二标记;在步骤S2中,在修改信息中增加第三标记,包括:在修改信息中增加与属性对应的第三标记。具体的,通常对一个文档进行编辑时,包括很多其不同的操作,例如对其文档内容编辑修改,文档权限状态的修改,以及对文档评论列表的修改,当前正在查看和编辑的操作端列表等等,这样可以依据特定的规则将文档不同的内容对应不同的属性,将每个属性都分别进行独立的标记设置进行修改管理。这里甚至可以,将文档的内容的不同章节也设定为不同标记类别,进行修改管理,例如,将第一文档的添加一个对应的文档内容标记,当操作端对文档内容进行编辑时,其对应的文档内容的修改信息发送到服务器,服务器将修改其文档内容标记,那么操作端根据该修改信息修改的第二文档的第三标记也为文档内容标记,这样同步操作端第二文档中的文档内容标记和第一文档内容标记对应。同样可以将第一文档的文档权限状态也单独有文档权限状态版本进行标记,当对文档权限状态进行修改时,第二文档的文档权限状态也会生成与修改信息对应的文档权限状态版本,这样实现第二文档与第一文档的文档权限状态对应。当然这里的文档属性不局限于上文举例。
进一步的,如图3所示,在第一文档中增加第一标记包括:在第一文档中增加第一文档版本号;在第二文档中增加第二标记包括:在第二文档中增加第二文档版本号;在修改信息中增加第三标记包括:依次在修改信息中增加修改信息版本号,修改信息版本号依照修改信息的时间顺序递增;在步骤S3中,依照预设规则修改第一文档的第一标记,使修改后的修改后的第一文档的第一标记与第三标记对应,包括:根据修改信息修改第一文档版本号,使修改后的第一文档的第一文档版本号与修改信息版本号相同。具体的,可以先对第一文档和第二文档分别进行版本号管理,例如在第一文档中增加第一文档版本号,在第二文档中增加第二文档版本号,同时对修改信息也增加修改信息版本号,当服务器接收多个修改信息时,依照接收到的修改信息的时间顺序对修改信息编号,即依照时间顺序对修改信息增加对应的修改信息版本号,这里的版本号依照时间顺序递增,例如按照接收到修改信息的先后顺序依次标记为V3.1、V3.2……。服务器依照预设规则修改第一文档版本号,例如第一文档版本号初始为V1.0,当接收到修改信息后,按照修改信息的顺序修改第一文档及第一文档版本号,例如依次修改为V1.1、V1.2……,这里接到的修改信息可以来自不同的操作端,也可以来自同一个操作端。这里V1.1与V3.1对应,V1.2与V3.2对应,依次类推进行对应,这里版本号相同可以理解为其编号数字相同,即上面所述的对应关系。这里的版本号方式只是一个举例,对于版本号可以采用其他的多位数或者多字段进行区分对应。以能够体现版本的递增和版本的对应关系为优。
进一步的,在步骤S4中,修改第二操作端第二文档的第二标记,使修改后的第二文档的第二标记与修改后的第一文档的第一标记对应包括:修改第二操作端第二文档版本号,使第二文档版本号与修改后的第一文档的第一文档版本号相同。具体的,在操作端获取修改信息进行修改时,修改第二文档版本号与修改信息版本号相同,例如,依照修改信息的顺序,例如修改信息V3.1、V3.2……,依次修改第二文档版本号为V2.1、V2.2……,这里V2.1与V3.1对应,V2.2与V3.2对应相同,这样根据上面修改信息版本号与修改后第一文档的第一文档版本号进行对应的关系,可以形成第二文档版本号与第一文档版本号的对应关系,保证了操作端第二文档与服务器第一文档的同步。
进一步的,如图4所示,在步骤S3-1中,确认第二操作端第二文档的第二标记与修改后的第一文档的第一标记是否对应包括:确认第二操作端第二文档版本号与第一文档版本号是否相同;步骤S3-2包括:计算第二操作端第二文档版本号与第一文档版本号之间缺少的版本号,获取缺少的版本号所对应的修改信息,依照版本号顺序依次修改第二操作端第二文档,并且将第二操作端第二文档版本号修改为第一文档版本号。具体的,在前面的基础上,如果服务器每一个修改信息都被操作端获取到,那么操作端的第二文档版本号应该与服务器的文档版本号对应,V2.1与V1.1对应,V2.2与V1.2对应,依次对应所有的第二文档版本号和服务器的文档版本号。但是在某些时候,操作端会丢失与服务器的连接,操作端与服务器连接后,操作端获取服务器当前的第一文档版本号,并对比其第二文档版本号,在有些时候,会发现其第二文档版本号落后与第一文档版本号,例如,服务器接收到多个不同的操作端发送的修改信息,依次为V3.1、V3.2、V3.3、V3.4、V3.5且对第一文档进行了修改,经过修改后的第一文档的当前文档版本号为V1.5,但是一个操作端可能由于某种原因,其第二文档版本号还只是V2.2,也就是可以理解,第二文档接收到的修改信息对应的修改信息版本号为V3.2,那么经过计算,可以获知,该操作端丢失了V3.3、V3.4、V3.5的修改信息,那么操作端就要重新从服务器依次获取该修改信息并依次对第二文档进行修改,在修改后,操作端的第二文档版本号也会修改为V2.5,这样就和服务器的第一文档版本V1.5相同了。
进一步的,在步骤S4中,发送修改信息至第二操作端包括:通过第一通道主动发送修改信息至第二操作端,或根据第二操作端请求通过第二通道发送修改信息。具体的,如图6所示,操作端可以通过Http和Websocket两种方式访问服务器。操作端发送修改信息给服务器时,首先尝试使用WebSocket方式,如果Websocket方式不可用则通过HTTP服务器发送。由于所有接口都是保持一致的,所以WebSocket和http方式中任意一条通道能够正常工作的时候都能保证操作端与服务器的正常数据传输。这里第一通道即WebSocket方式,服务器通过WebSocket方式主动发送修改信息给操作端,这里第二通道即http方式,操作端通过http方式定时发现服务器的消息更新并主动从服务器上提取修改信息,即操作端主动向服务器发送获取服务器修改信息的请求,服务器接收请求后发送修改信息至操作端。
另,本公开的一种文档协同编辑装置,包括:
获取单元,用于获取并存储第一文档;
第一修改单元,用于在第一文档中增加第一标记;
第一执行单元,用于发送第一文档至至少两个操作端以生成第二文档并在第二文档中增加第二标记;
第二修改单元,用于接收第一操作端对第二文档的修改信息,并在修改信息中增加第三标记;
第三修改单元,用于根据修改信息修改第一文档并依照预设规则修改第一文档的第一标记,使修改后的第一文档的第一标记与修改信息的第三标记对应;
第二执行单元,用于发送修改信息至第二操作端、以根据修改信息修改第二操作端第二文档,并修改第二操作端第二文档的第二标记,以使其的第二标记与修改信息的第三标记对应。
进一步的,本公开的一种文档协同编辑装置还包括:
第三执行单元,用于依照预设条件发送修改后的第一文档的第一标记至操作端,
判断单元,用于确认第二操作端第二文档的第二标记与第一文档的第一标记是否对应;
计算单元,用于在判断单元的判定结果为不对应时,计算第一文档的第一标记对应的第三标记与第二操作端第二文档的第二标记对应的第三标记的差异,
第四修改单元,用于根据该差异获取对应的修改信息以修改第二操作端第二文档,并修改第二操作端第二文档的第二标记与第一文档的第一标记对应。
这里文档协同编辑装置各单元之间具体的配合操作过程具体可以参照上述文档协同编辑方法,这里不再赘述。
另,本公开的一种电子设备,包括存储器和处理器;存储器用于存储计算机程序;处理器用于执行所述计算机程序实现如上面任意所述的文档协同编辑方法。下面参考图7,其示出了适于用来实现本公开实施例的电子设备800的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
另,本公开的一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上面任意一项所述的文档协同编辑方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
可以理解的,以上实施例仅表达了本公开的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,可以对上述技术特点进行自由组合,还可以做出若干变形和改进,这些都属于本公开的保护范围;因此,凡跟本公开权利要求范围所做的等同变换与修饰,均应属于本公开权利要求的涵盖范围。