具体实施方式
本申请实施例提供一种基于聊天群的服务方法、装置以及电子设备。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的核心思想是:对聊天群的应用模式进行扩展;在现有技术中,聊天群中的用户只能在群聊界面中进行聊天,聊天消息对该聊天群的全部用户可见,也即,“在聊天群内用户连接其他用户”;而在本申请的方案中,聊天群中可以内嵌一个或多个场景,每个场景中可以有该聊天群的至少部分群聊用户加入,各场景之间以及各场景与群聊界面之间是相对隔离的,场景内的群聊用户协同及产生的相关信息不会影响到场景外的群聊用户,也即,不仅可以“在聊天群内用户连接其他用户”,还可以“在聊天群内用户连接场景,再在场景内连接其他用户”,如此,有利于增加聊天群的外延,减少群聊用户之间的干扰;不仅如此,场景内的用户协同除了可以包括聊天,还可以包括诸如执行对应于该场景的交互任务等更多互动形式,如此,有利于丰富聊天群的用途等。
下面对本申请的方法进行详细说明。
图1为本申请实施例提供的一种基于聊天群的服务方法的流程示意图。从程序角度而言,该流程的执行主体可以是服务器上或者终端上的程序,比如,即时通讯应用、社交应用程序中的即时通讯模块等。从设备角度而言,该流程的执行主体包括但不限于可作为上述服务器或者终端的以下至少一种设备:个人计算机、大中型计算机、计算机集群、手机、平板电脑、智能可穿戴设备、车机等。
图1中的流程可以包括以下步骤:
S101:接收聊天群的群聊用户的场景界面访问请求,所述场景界面属于表征所述群聊用户已加入的场景的场景数据,所述场景数据与所述聊天群相关联。
在本申请实施例中,聊天群中一般包含多个群聊用户,当聊天群中只包含两个群聊用户时也可以称为单点群。
在本申请实施例中,可以预先为聊天群关联数据,通俗而言,“为聊天群关联场景数据”即是为聊天群添加场景,添加的场景内嵌于该聊天群。“为聊天群关联场景数据”可以基于该聊天群中的群聊用户(以下简称为:群聊用户)的指令触发而执行;也可以预先自动执行而无需群聊用户触发,比如,默认地为每个聊天群预先关联指定的场景数据。另外,聊天群与场景数据之间的关联也是可以解除的。
在本申请实施例中,从程序角度而言,场景数据可以是可内嵌于聊天群的程序。以移动端的社交应用的聊天群为例,场景数据可以是以移动端的社交应用为容器的轻量级程序,依靠与容器交互获得容器数据和服务,并通过诸如HTML5等页面和容器原生接口调用提供有人机交互服务给用户。
场景数据可以表征一个或多个场景,不同场景之间以及场景与聊天群的群聊界面(比如,现有技术中的群聊窗口等)之间是相对隔离的。场景数据关联聊天群后,群聊用户可以加入对应的场景,以及获得该场景内的相应服务。
在本申请实施例中,在聊天群关联的场景数据后,根据关联的该场景数据,该聊天群中的群聊用户可以加入对应的场景,同一个群聊用户可以同时处于多个场景内。进一步地,已经加入场景的群聊用户也可以退出该场景。
在本申请实施例中,场景数据可以包括场景界面,类似于聊天界面,场景界面可以是场景内的群聊用户的互动区域。聊天用户在加入场景后,可以请求访问相应的场景界面。
当然,除了场景界面,场景数据还可以包括更多的数据,比如,用于将群聊用户加入场景的场景入口、场景对应的用户协同服务逻辑等。
S102:响应于所述场景界面访问请求,为所述群聊用户展示所述场景界面,其中,所述场景界面在展示时,与所述聊天群的至少部分群聊界面共同展示。
在本申请实施例中,为该群聊用户展示场景界面,以便于该群聊用户执行动作或者查看场景中的实况。
进一步地,群聊用户即使加入了场景,仍然可能需要关注群聊界面,为了方便群聊用户,场景界面在展示时,可以与聊天群的至少部分群聊界面共同展示,如此,便于场景内的用户同时查看场景内和群聊界面中的情况。需要说明的是,这种展示方式并非必须,也可以单独只展示场景界面,群聊用户可以在场景界面与聊天界面之间进行切换。
S103:通过展示的所述场景界面,为所述群聊用户提供用户协同服务。
在本申请实施例中,所述的用户协同可以指:多个群聊用户在同一个场景内以协作的方式执行特定动作,比如,讨论对应于该场景的共同话题、执行对应于该场景的交互任务等。
通过图1的方法,聊天群的至少部分群聊用户可以在聊天群关联的场景数据表征的场景中进行协同,比如,在该场景中讨论对应于该场景的共同话题、执行对应于该场景的交互任务等,有利于减少对该聊天群的其他群聊用户的打扰,因此,可以部分或全部地解决现有技术中的问题。
基于图1的方法,本申请实施例还提供了该方法的一些具体实施方案,以及扩展方案,下面进行说明。
在本申请实施例中,如前所述,可以由群聊用户触发场景数据与所述聊天群相关联。具体地,对于步骤S101,所述接收聊天群的群聊用户的场景界面访问请求前,可以执行:接收所述聊天群的群聊用户的场景关联请求;根据所述场景关联请求,对应地为所述聊天群关联一组或多组场景数据,每组场景数据分别包括对应的场景界面,每组场景数据分别还可以包括对应的场景入口等其他数据。其中,每组场景数据可以分别表征至少一个场景。
上述关联的过程可能涉及一些更具体的动作,本申请对所述更具体的动作并不做限定,仅举例说明。比如,可以将关联的场景数据包含的场景入口向群聊用户进行展示,下载场景界面的数据至群聊用户本地,等等。
在本申请实施例中,场景数据可以由服务器预先准备,则可以根据群聊用户的请求,从中选择所要关联的场景数据;场景数据也可以由群聊用户按照预定的规则自行创建,比如,基于服务器提供的场景模板创建场景数据等。
以上一段中的前一种方式为例。比如,所述接收所述聊天群的群聊用户的场景关联请求,具体可以包括:为所述聊天群的群聊用户展示各场景标识信息,所述场景标识信息用于标识可关联的场景数据;接收所述群聊用户针对所述各场景标识信息中的至少一个场景标识信息的场景关联请求;所述根据所述场景关联请求,对应地为所述聊天群关联一组或多组场景数据,具体可以包括:根据所述场景关联请求,为所述聊天群关联所述至少一个标识信息所标识的一组或多组场景数据。
所述场景标识信息比如可以是场景图标、场景简要说明、场景链接等。
在本申请实施例中,所述场景入口可以包括场景参与入口和场景界面入口;其中,场景参与入口可以用于群聊用户请求加入或者离开场景,场景界面入口可以用于请求展示场景界面,场景参与入口和场景界面入口可以是同一个入口,也可以是不同入口,以下实施例以不同入口的情况为例。
为聊天群关联表征场景的场景数据后,对应的场景参与入口可以展示于所述聊天群的群聊界面中,以便于群聊用户使用。
群聊用户可以主动地加入场景。比如,对于步骤S101,所述接收聊天群的群聊用户的场景界面访问请求前,还可以执行:接收所述群聊用户针对所述场景入口的场景加入请求;响应于所述场景加入请求,将所述群聊用户加入所述场景。
更具体地,所述接收所述群聊用户针对所述场景入口的场景加入请求,具体可以包括:接收所述群聊用户的场景加入请求,所述场景加入请求通过所述群聊用户访问所述场景参与入口发送。
群聊用户也可以被动地加入场景。比如,某群聊用户在加入场景后可以将其他群聊用户也拉入该场景内;或者,执行主体可以根据群聊用户的情况,按照预定的规则,自动将符合条件的群聊用户加入对应的场景;等等。
在本申请实施例中,为了便于查看场景界面,场景界面入口可以展示给已加入场景的群聊用户。比如,所述将所述群聊用户加入所述场景后还可以执行:为所述群聊用户在所述聊天群的群聊界面中展示所述场景界面入口。
而对于未加入场景的群聊用户,可以不对其展示场景界面入口和场景界面。如此,一方面,可以减少对未加入场景的群聊用户的打扰,另一方面,群聊用户通过自己在群聊界面中可见的场景界面入口,可以知道自己当前已加入的场景,以及可以便利地查看对应的场景界面。
进一步地,对于步骤S101,所述接收聊天群的群聊用户的场景界面访问请求,具体可以包括:接收聊天群的群聊用户的场景界面访问请求,所述场景界面访问请求通过所述群聊用户访问所述场景界面入口发送。
在本申请实施例中,前面提到为了提高用户便利性,场景界面在展示时,可以与聊天群的至少部分群聊界面共同展示。具体地,所述为所述群聊用户展示所述场景界面,可以包括:为所述群聊用户在展示有所述聊天群的群聊界面的区域中的部分区域中展示所述场景界面。比如,可以将当前群聊界面缩小以腾出部分区域展示场景界面;再比如,可以将场景界面以部分覆盖的方式展示于当前群聊界面的上方;等等。
进一步地,对于群聊界面而言,群聊用户比较关注的一般是最新的群聊信息,即使群聊用户正在场景内活动,仍然可能保持这种关注。考虑到这一点,上述共同展示的所述至少部分群聊界面优选地可以包括展示最新一条或最新的若干条群聊消息的界面部分,以便于群聊用户查看新增的群聊消息。
在本申请实施例中,所述场景为已加入所述场景的各群聊用户提供可在线协同执行的协同活动。
进一步地,所述场景界面中可以包含协同活动功能控件和互动展示区域。对于步骤S103,所述通过展示的所述场景界面,为所述群聊用户提供用户协同服务,具体可以包括:检测所述群聊用户对所述协同活动功能控件和/或所述至少部分群聊界面的特定操作,所述特定操作用于执行所述场景提供的所述协同活动;根据检测的所述操作动作,相应地在所述互动展示区域中展示所述群聊用户在执行所述协同活动的过程中的互动信息。
根据前面对用户协同的解释,所述协同活动可以是进行通过用户协同进行的活动。不同的场景可以提供不同的协同活动,相应地,不同的场景界面也可以包含不同的协同活动功能控件、互动展示区域。
以协同活动是“成语接龙”游戏为例,则对应的协同活动功能控件比如可以是“确认”按钮、“放弃受罚”按钮等,群聊用户加入提供该游戏活动的场景后,可以一起玩“成语接龙”游戏,群聊用户可以在互动展示区域中输入成语,并点击“确认”按钮提交输入的成语,群聊用户也可以点击“放弃受罚”按钮表示在游戏中认输等。互动展示区域则实时地展示各群聊用户正在输入或者已经提交的成语。
在本申请实施例中,不同的场景也可能提供一些通用的功能,这些功能也可以基于场景界面来实现。下面举例说明。
例如,场景界面中可以包含用于展示已加入场景的各群聊用户信息的用户信息控件。用户信息控件也可以用于场景中的群聊用户交互(比如,在场景内私下聊天、在场景内结伴、在场景内进行权限授予等),这种交互未必属于执行协同活动,相应产生的交互信息也未必要在互动展示区域中展示。
以在场景内私下聊天为例,群聊用户信息可以是诸如用户头像、或用户名等群聊用户的标识,用户信息控件可以用于在场景界面中展示已加入对应场景的群聊用户的标识,对于步骤S103,所述通过展示的所述场景界面,为所述群聊用户提供用户协同服务,还可以包括:检测所述群聊用户对展示的所述标识的访问操作;根据检测的所述访问操作,相应地在所述已加入所述场景的各群聊用户之间进行单点对单点或单点对多点的交互。
群聊用户通过对用户信息控件进行操作,可以使所述标识被展示或者被隐藏。当然,用户信息控件也不是必须的,可以默认地直接在场景界面中展示场景内的群聊用户的标识。
在本申请实施例中,所述标识还可以用于辅助用户协同的进行。比如,所述已加入所述场景的各群聊用户在所述用户协同服务过程中可以具有指定的用户协同顺序;则对于步骤S103,所述通过展示的所述场景界面,为所述群聊用户提供用户协同服务,还可以包括:通过展示的所述标识,对所述用户协同顺序进行提示。
沿用上面“成语接龙”的例子,场景内的群聊用户需要按顺序接龙,轮到哪位群聊用户接龙时,可以将该群聊用户的标识进行区别标记(比如,高亮、加下划线、加方框等)以作为提示。
在本申请实施例中,场景内的群聊用户可以发送针对场景界面的隐藏指令,相应地,对于步骤S102,所述为所述群聊用户展示所述场景界面后,所还可以执行:当接收到针对展示的所述场景界面的隐藏指令后,至少部分隐藏展示的所述场景界面。为了实现本段的功能,场景界面中也可以包含相应的控件,比如,“缩小”按钮,“回退”按钮等,群聊用户比如可以通过点击“缩小”按钮发送所述隐藏指令,在场景界面隐藏后,群聊用户可以通过访问场景界面入口,使隐藏的场景界面再次被展示。
上面对本申请实施例提供的一种基于聊天群的服务方法进行了说明。为了便于理解,更直观地,本申请实施例还提供了一种实际应用场景下,上述服务方法的一种具体实施方案,下面结合若干界面效果示意图(图2a~图2e)进行说明。图2a~图2e中的界面可以是某群聊用户的终端上展示的界面。
图2a为本申请实施例提供的一种实际应用场景下,已加入若干场景的某群聊用户(称为:当前群聊用户;当前群聊用户可以是聊天群中的任意群聊用户)的群聊界面示意图。
在图2a中,当前群聊用户从社交应用的聊天选择页面点击某聊天群进入对应的群聊界面;
群聊界面具有一些现有的通用功能和属性,可以看到,群聊界面中展示有群名、群成员列表、群聊消息输入和展示区、回退按钮等;
进一步地,基于本申请的方案,该聊天群为场景内嵌的群,当前群聊用户预先在该聊天群中已经加入了3个场景;
群聊界面中展示有表示当前群聊用户已加入的场景的场景图标列表(属于上述的场景界面入口),根据场景图标列表,当前群聊用户可以知道目前自己已经加入了哪些场景,并且可以通过访问场景图标,查看对应的场景页面,场景图标各自右上角可以用红圆点表示场景内有新的交互请求或动态等实况;另外,若场景图标列表超过显示设备屏幕尺寸,当前群聊用户可以滑动场景图标列表查看被隐藏的场景图标;场景图标列表也可以用文字或者图标文字混合等形式展示;
群聊界面中展示有群内已有场景列表(属于上述的场景参与入口),根据群内已有场景列表,当前群聊用户可以知道目前聊天群有哪些场景,并且可以加入或退出这些场景。
图2b为本申请实施例提供的一种实际应用场景下,群聊用户访问场景界面入口的过程涉及的界面示意图。
在图2b中,当前群聊用户点击了场景图标列表中的一个场景图标(也即,访问自己已加入的一个场景的场景界面入口),相应的场景界面被展示;群聊界面缩小到群聊展示区,与场景界面共同展示;场景界面突出了互动展示区域,该区域是具体的场景应用人机交互页面,场景内的各群聊用户协同进行“成语接龙”的游戏(属于上述的协同活动),场景可以具备一般应用的特性,而且可以通过容器把相关的功能控件(比如,上述的协同活动功能控件、用户信息控件、缩小按钮等)放到场景界面中,控件数量和具体功能不限定;当前群聊用户可以通过点击缩小按钮隐藏场景界面,回到原来的群聊页面;当前群聊用户可以通过点击群场景成员列表(属于上述的用户信息控件),可以查看场景内的各群聊用户。
图2c为本申请实施例提供的一种实际应用场景下,展开群场景成员列表后的场景界面示意图。
在图2c中,当前群聊用户点击群场景成员列表,场景界面的互动展示区域会浮现场景内的各群聊用户的标识,并且轮到进行场景内操作的成员(称为:场景内的当前活动成员)显示在最上面并且被区别标记;当前群聊用户还可以点击选择某一成员进行单点对单点聊天,这时候只有对方成员可以在自己的聊天界面看到对应的聊天消息;群场景成员列表最下面的图标表示场景内的所有成员,点击可以对场景内的所有群聊用户发送聊天消息,而聊天群中的其他群聊用户不会看到此聊天消息;如果场景活动成员和场景所有成员图标之外的场景成员过多无法都显示,用户可以通过滑动获得隐藏的成员。
图2d为本申请实施例提供的一种实际应用场景下,群聊用户访问场景参与入口的过程涉及的界面示意图。
在图2d中,当前群聊用户点击群聊页面的群内已有场景列表,进入群内场景标识页面,该页面显示当前群已有的所有场景的标识;当前群聊用户通过点击场景退出按钮可以退出对应的场景,退出后,在先前的群聊页面的场景图标列表里就不再显示该场景的图标;相反地,对于已经退出或尚未加入的场景,通过点击场景加入按钮可以加入对应的场景,加入后,在先前的群聊页面的场景图标列表中就会显示该场景的图标;点击回退按钮可以回到前一页面。
图2e为本申请实施例提供的一种实际应用场景下,为聊天群关联场景数据的过程涉及的界面示意图。
在图2e中,当前群聊用户在群聊页面点击群聊加号按钮,选择点击场景进行场景添加(也即,上述的为聊天群关联表征场景的场景数据);进入到场景市场页面,显示所有精品场景列表(所述的“精品”是预先划分出的一类场景的示例,并非对本申请的限定),并且对已经添加到当前群的场景标示“已添加”,也只有已添加的场景才会显示在群内场景列表里;对于未添加的场景,可以通过点击对应的场景添加按钮添加到当前的聊天群;可以点击分类选项卡,按类别查找场景;也可以通过搜索场景名字方式找场景进行添加;在实际应用中,可以对场景的添加权限进行控制,比如,可以设定:非单点群只有群主才可以进行场景添加或删除,而对于单点群,群内任意成员都可以进行场景添加和删除,等等;在场景市场,可以把已添加的场景显示在精品选项页的最上面,当前群聊用户可以点击已添加的场景的标识进入场景详细页面,进而进行场景删除等。
上面为本申请实施例提供的一种基于聊天群的服务方法,基于同样的发明思路,本申请实施例还提供了对应的装置,如图3所示。
图3为本申请实施例提供的对应于图1的一种基于聊天群的服务装置的结构示意图,虚线方框表示可选的模块,该装置可以位于图1中流程的执行主体上,包括:
接收模块301,接收聊天群的群聊用户的场景界面访问请求,所述场景界面属于表征所述群聊用户已加入的场景的场景数据,所述场景数据与所述聊天群相关联;
展示模块302,为所述群聊用户展示所述场景界面,其中,所述场景界面在展示时,与所述聊天群的至少部分群聊界面共同展示;
服务模块303,通过展示的所述场景界面,为所述群聊用户提供用户协同服务。
可选地,所述装置还包括:
关联模块304,在所述接收模块301接收聊天群的群聊用户的场景界面访问请求前,接收所述聊天群的群聊用户的场景关联请求,根据所述场景关联请求,对应地为所述聊天群关联一组或多组场景数据,每组场景数据分别包括对应的场景界面。
可选地,所述关联模块304接收所述聊天群的群聊用户的场景关联请求,具体包括:
所述关联模块304为所述聊天群的群聊用户展示各场景标识信息,所述场景标识信息用于标识可关联的场景数据,接收所述群聊用户针对所述各场景标识信息中的至少一个场景标识信息的场景关联请求;
所述关联模块304根据所述场景关联请求,对应地为所述聊天群关联一组或多组场景数据,具体包括:
所述关联模块304根据所述场景关联请求,为所述聊天群关联所述至少一个标识信息所标识的一组或多组场景数据。
可选地,所述场景数据还包括场景入口;所述装置还包括:
加入模块305,在所述接收模块301接收聊天群的群聊用户的场景界面访问请求前,接收所述群聊用户针对所述场景入口的场景加入请求,将所述群聊用户加入所述场景。
可选地,所述场景入口包括场景参与入口和场景界面入口;所述为聊天群关联表征场景的场景数据后,所述场景参与入口展示于所述聊天群的群聊界面中;
所述接收模块301接收所述群聊用户针对所述场景入口的场景加入请求,具体包括:
所述接收模块301接收所述群聊用户的场景加入请求,所述场景加入请求通过所述群聊用户访问所述场景参与入口发送。
可选地,所述展示模块302在所述加入模块305将所述群聊用户加入所述场景后,为所述群聊用户在所述聊天群的群聊界面中展示所述场景界面入口。
可选地,所述接收模块301接收聊天群的群聊用户的场景界面访问请求,具体包括:
所述接收模块301接收聊天群的群聊用户的场景界面访问请求,所述场景界面访问请求通过所述群聊用户访问所述场景界面入口发送。
可选地,所述展示模块302为所述群聊用户展示所述场景界面,具体包括:
所述展示模块302为所述群聊用户在展示有所述群聊界面的区域中的部分区域中展示所述场景界面。
可选地,所述展示模块302在为所述群聊用户展示所述场景界面后,当接收到针对展示的所述场景界面的隐藏指令后,至少部分隐藏展示的所述场景界面。
可选地,所述场景为已加入所述场景的各群聊用户提供可在线协同执行的协同活动。
可选地,所述场景界面中包含协同活动功能控件和互动展示区域;
所述服务模块303通过展示的所述场景界面,为所述群聊用户提供用户协同服务,具体包括:
所述服务模块303检测所述群聊用户对所述协同活动功能控件和/或所述至少部分群聊界面的特定操作,所述特定操作用于执行所述场景提供的所述协同活动;
根据检测的所述操作动作,相应地在所述互动展示区域中展示所述群聊用户在执行所述协同活动的过程中的互动信息。
可选地,所述场景界面中包含用户信息控件,所述用户信息控件用于在所述场景界面中展示已加入所述场景的各群聊用户的标识。
可选地,所述服务模块303通过展示的所述场景界面,为所述群聊用户提供用户协同服务,包括:
所述服务模块303检测所述群聊用户对展示的所述标识的访问操作;
根据检测的所述访问操作,相应地在所述已加入所述场景的群聊用户之间进行单点对单点或单点对多点的交互。
可选地,所述已加入所述场景的各群聊用户在所述用户协同服务过程中具有指定的用户协同顺序;
所述服务模块303通过展示的所述场景界面,为所述群聊用户提供用户协同服务,包括:
所述服务模块303通过展示的所述标识,对所述用户协同顺序进行提示。
基于同样的发明思路,本申请实施例还提供了对应的一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收聊天群的群聊用户的场景界面访问请求,所述场景界面属于表征所述群聊用户已加入的场景的场景数据,所述场景数据与所述聊天群相关联;
为所述群聊用户展示所述场景界面,其中,所述场景界面在展示时,与所述聊天群的至少部分群聊界面共同展示;
通过展示的所述场景界面,为所述群聊用户提供用户协同服务。
基于同样的发明思路,本申请实施例还提供了对应的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
接收聊天群的群聊用户的场景界面访问请求,所述场景界面属于表征所述群聊用户已加入的场景的场景数据,所述场景数据与所述聊天群相关联;
为所述群聊用户展示所述场景界面,其中,所述场景界面在展示时,与所述聊天群的至少部分群聊界面共同展示;
通过展示的所述场景界面,为所述群聊用户提供用户协同服务。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的装置、电子设备、非易失性计算机存储介质与方法是对应的,因此,装置、电子设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、电子设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。