CN106708418B - 游戏环境内消息存储方法及装置 - Google Patents
游戏环境内消息存储方法及装置 Download PDFInfo
- Publication number
- CN106708418B CN106708418B CN201510791009.3A CN201510791009A CN106708418B CN 106708418 B CN106708418 B CN 106708418B CN 201510791009 A CN201510791009 A CN 201510791009A CN 106708418 B CN106708418 B CN 106708418B
- Authority
- CN
- China
- Prior art keywords
- message
- extraction
- messages
- extracting
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种游戏环境内消息存储方法,包括步骤:跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息;将所述自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置。本发明还公开一种游戏环境内消息存储装置。本发明降低了消息存储的复杂程度,且以时间戳为下标区分不同的消息,使得消息存储结构清晰,提高了消息存储的效率。
Description
技术领域
本发明涉及到互联网技术领域,特别涉及到游戏环境内消息存储方法及装置。
背景技术
随着智能技术的不断发展,越来越多的智能应用被加载在终端上。伴随着应用增多,需要存储的消息增多。目前消息的存储方式包括:1)DB:数据库,这里特指mysql数据库。存储量大,但随着数据量增大,检索效率降低。
2)CKV:内存级别的key-value存储结构。单条数据存储量小,检索效率高,但是需要制定key。
以上两种存储方式的具体存储过程为:方案1):个人消息存储在DB中,每条消息自动递增编号。
方案2):个人消息存储在CKV中,每条消息分配一个递增的编号,作为消息key。
上述存储方式的缺点为:
方案1),由于存储在磁盘上,会随着消息数量存储的增加,检索效率下降很多,请求时延较大,不满足体验要求。
方案2),访问消息,需要指定消息key。当消息key丢失或者异常时,消息服务完全不可访问。
综上,现有的消息存储方式复杂度高,且存储结构不清晰,导致数据存储效率差。
发明内容
本发明实施例提供一种游戏环境内消息存储方法及装置,旨在解决现有的消息存储方式复杂度高,且存储结构不清晰,导致数据存储效率差的问题。
为实现上述目的,本发明实施例提出一种游戏环境内消息存储方法,包括步骤:
在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;
按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息;
将所述自动生成的标识信息与所述新消息关联存储。
为了实现上述目的,本发明实施例还进一步提出一种游戏环境内消息存储装置,包括:
存储模块,用于跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;
生成模块,用于按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息;
关联模块,用于将所述自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置。
本发明通过自动将消息产生的时间以下标的方式作为消息的编号,无需再重新去生成消息编号,降低了消息存储的复杂程度,且以时间戳为下标区分不同的消息,使得消息存储结构清晰,提高了消息存储的效率。
附图说明
图1为本发明实施例游戏环境内消息存储装置所涉及的硬件架构示意图;
图2为本发明游戏环境内消息存储方法的第一实施例的流程示意图;
图3为本发明游戏环境内消息存储方法的第二实施例的流程示意图;
图4为本发明按照所述提取类型从所述存储介质中提取与所述提取指令对应的消息第一实施例的提取流程示意图;
图5为本发明按照所述提取类型从所述存储介质中提取与所述提取指令对应的消息第二实施例的提取流程示意图;
图6为本发明按照所述提取类型从所述存储介质中提取与所述提取指令对应的消息第三实施例的提取流程示意图;
图7为本发明按照所述提取类型从所述存储介质中提取与所述提取指令对应的消息第三实施例的提取流程示意图;
图8为本发明游戏环境内消息存储装置的第一实施例的功能模块示意图;
图9为本发明游戏环境内消息存储装置的第二实施例的功能模块示意图;
图10为图9中提取模块一实施例的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息;将所述自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置。通过自动将消息产生的时间以下标的方式作为消息的编号,无需再重新去生成消息编号,降低了消息存储的复杂程度,且以时间戳为下标区分不同的消息,使得消息存储结构清晰,提高了消息存储的效率。
由于现有的消息存储方式复杂度高,且存储结构不清晰,导致数据存储效率差。
本发明实施例架构一游戏环境内消息存储装置,该游戏环境内消息存储装置通过自动将消息产生的时间以下标的方式作为消息的编号,无需再重新去生成消息编号,降低了消息存储的复杂程度,且以时间戳为下标区分不同的消息,使得消息存储结构清晰,提高了消息存储的效率。
其中,本实施例游戏环境内消息存储装置可以承载于PC端,也可以承载于手机、平板电脑等可以使用网络应用的电子终端。该游戏环境内消息存储装置所涉及的硬件架构可以如图1所示。
图1示出了本发明实施例游戏环境内消息存储装置所涉及的硬件架构。如图1所示,所述游戏环境内消息存储装置所涉及的硬件包括:处理器301,例如CPU,网络接口304,用户接口303,存储器305,通信总线302。其中,通信总线302用于实现该信息推送平台中各组成部件之间的连接通信。用户接口303可以包括显示屏(Display)、键盘(Keyboard)、鼠标等组件,用于接收新产生的个人消息,并将接收的信息发送至处理器305进行处理。显示屏可以为LCD显示屏、LED显示屏,也可以为触摸屏,用于显示游戏环境内消息存储装置需要显示的数据,例如显示消息存储操作、消息提取操作、消息输出操作等操作界面。可选用户接口303还可以包括标准的有线接口、无线接口。网络接口304可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器305可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器305可选的还可以是独立于前述处理器301的存储装置。如图1所示,作为一种计算机存储介质的存储器305中可以包括操作系统、网络通信模块、用户接口模块以及消息存储程序。
在图1所示的游戏环境内消息存储装置所涉及的硬件中,网络接口304主要用于连接应用平台,与应用平台进行数据通信;用户接口303主要用于连接客户端,与客户端进行数据通信,接收客户端输入的信息和指令;而处理器301可以用于调用存储器305中存储的消息存储程序,并执行以下操作:
跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;
按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息;
将所述自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置。
进一步地,在一个实施例中,处理器301调用存储器305中存储的消息存储程序可以执行以下操作:
跟踪游戏玩家活动以捕捉消息的提取指令,接收消息提取指令;
在接收到所述提取指令时,确定所述提取指令的提取类型及所述提取类型对应的提取方式;
按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息,输出所提取的消息。
进一步地,在一个实施例中,处理器301调用存储器305中存储的消息存储程序可以执行以下操作:
在所述提取类型为消息首次提取类型时,获取当前时间点;
根据所述当前时间点按时间标识的逆时针顺序提取N条存储在所述存储介质中的消息,返回所提取的消息的最大时间标识和最小时间标识,以提示提取的消息的范围。
进一步地,在一个实施例中,处理器301调用存储器305中存储的消息存储程序可以执行以下操作:
在所述提取类型为消息历史提取类型时,根据所述提取的N条消息的最小时间标识按时间标识的逆时针顺序提取n条存储在所述存储介质中的消息。
进一步地,在一个实施例中,处理器301调用存储器305中存储的消息存储程序可以执行以下操作:
在所述提取类型为消息最新提取类型时,根据所述提取的N条消息的最大时间标识按时间标识的顺时针顺序或时间标识的逆时针顺序提取M条存储在所述存储介质中的消息。
进一步地,在一个实施例中,处理器301调用存储器305中存储的消息存储程序可以执行以下操作:
在所述提取类型为消息指定提取类型时,获取所述提取指令对应的提取时间及提取顺序;
根据所述提取时间及所述提取顺序提取m条存储在所述存储介质中的消息。
本实施例根据上述方案,通过自动将消息产生的时间以下标的方式作为消息的编号,无需再重新去生成消息编号,降低了消息存储的复杂程度,且以时间戳为下标区分不同的消息,使得消息存储结构清晰,提高了消息存储的效率。
基于上述硬件架构,提出本发明游戏环境内消息存储方法实施例。
如图2所示,提出本发明一种游戏环境内消息存储方法的第一实施例,所述游戏环境内消息存储方法包括:
步骤S10,跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;
在本实施例中,所述有序集合类型的存储介质为zset,zset是在set的基础上增加了顺序,形成一个有序的集合。其中,set是一个集合,它是string类型的无序集合,set是通过hash table实现的,添加、删除、查找的复杂度都是O(1),对于集合我们可以取并集、交集或差集。通过这些操作我们可以实现SNS(专指在帮助人们建立社会性网络的互联网应用服务)中好友推荐和博客的分类。在本实施例优选为基于zset实现个人信息的存储和分类管理。所述个人消息为运行应用所产生的消息。
跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中。个人消息可以根据应用不同或者生成的个人消息的方式不同而存储在不同的存储位置。
步骤S20,按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息;
在产生一条新消息后,按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息。所述标示规则为存储介质自动生成微妙级别的时间戳作为新消息的下标。将所述下标的时间戳作为新消息的识别标识(例如,作为消息检索标识)。在新消息产生后,获取所述新消息产生的时间,根据所产生的时间自动生成微妙级别的时间戳作为所述新消息的下标,即,作为所述新消息的标识信息。在多个新消息的所产生的时间相同时,为所产生的不同新消息设置出时间戳以外的附加标识信息,所述附加标识信息为区分相同时间产生的新消息,所述附加标识可以是字符串或数字等,同样以下标的方式与时间戳结合起来区分不同的消息。例如,存在多个相同的新消息时间戳为2015-10-08 09:00,所述多个新消息为消息a、消息b和消息c,为不同新消息设置附加标识信息,例如,为消息a设置附加标识1,为消息b设置附加标识2,为消息c设置附加标识3,所设置的附加标识与时间戳一起作为消息的下标,用以区分不同的消息,即,将所设置的标识作为消息的消息编号。
步骤S30,将所述自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置。
在成功生成新消息的标识信息后,将所述自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置。所述用户相关的位置为提前设置在存储介质中的位置,每个游戏用户的相关存储位置不同。所述存储过程例如,在设置了消息a的标识信息为2015-10-08 09:00,消息b的标识信息为2015-10-08 09:01,消息c的标识信息为2015-10-08 09:02分后,将2015-10-08 09:00作为下标标记消息a存储在所述存储介质中,将2015-10-0809:01作为下标标记消息b存储在所述存储介质中,将2015-10-08 09:02作为下标标记消息c存储在所述存储介质中。所述存储的消息按照下标的时间戳有顺序的保存在所述存储介质中,即,每个消息按照所携带的时间戳不同依次保存在所述存储介质中。例如,消息a的下标标记为2015-10-08 09:00,消息b的下标标记为2015-10-08 09:01,消息c的下标标记为2015-10-08 09:02,保存顺序为消息a、消息b和消息c,时间戳在前的保存在时间戳再后的。例如,消息d的下标标记为2015-10-08 09:10,消息e的下标标记为2015-10-08 09:08,消息f的下标标记为2015-10-08 09:15,保存顺序为消息e、消息d和消息f。
在本发明一实施例中,为了更好的区分不同的消息,先对所产生的消息进行类型划分或者应用的划分,将属于同一类型或者同一应用的消息归于一类,将消息分为不同的类,再为分类后的消息自动将时间戳作为下标关联保存,在找寻数据时,可以根据类型或者应用在对应存储区域查找,方便消息的后续输出。
在本发明其他实施例中,也还可以是在产生新消息时,自动生成标识信息,然后将标识信息与消息一并存储至存储介质中。
本实施例通过自动将消息产生的时间以下标的方式作为消息的编号,无需再重新去生成消息编号,降低了消息存储的复杂程度,且以时间戳为下标区分不同的消息,使得消息存储结构清晰,提高了消息存储的效率。
进一步地,基于上述游戏环境内消息存储方法的第一实施例,提出本发明游戏环境内消息存储方法的第二实施例。如图3所示,所述步骤S30之后,还可以包括:
步骤S40,跟踪游戏玩家活动以捕捉消息的提取指令,接收消息提取指令;
步骤S50,在接收到所述提取指令时,确定所述提取指令的提取类型及所述提取类型对应的提取方式;
步骤S60,按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息,输出所提取的消息。
在本实施例中,在关联保存标识信息至新消息后,输出推送通知,显示红点提醒,触发用户提取消息。跟踪游戏玩家活动以捕捉消息的提取指令,以捕捉到用户提取消息的触发操作。所述触发用户提取消息的过程也还可以是:设置一预设时间(1小时或2小时等),在预设时间达到时,输出推送通知,显示红点提醒,触发用户提取消息。或者设置一时间点,例如,所述时间点为上午9:00,在每天的上午9:00到达时,输出推送通知,显示红点提醒,触发用户提取消息。所述时间点可以设置多个,在每个时间点到达时,输出推送通知,显示红点提醒,触发用户提取消息。
在输出推送通知后,或者在有新消息存储后,接收消息提取指令。所述消息提取指令可以由物理按键或虚拟按键触发。跟踪游戏玩家活动以捕捉消息的提取指令,在接收到所述提取指令时,确定所述提取指令的提取类型及所述提取类型对应的提取方式,按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息,输出所提取的消息。所述提取类型包括但不限于消息首次提取类型、消息历史提取类型、消息最新提取类型或消息指定提取类型。所述提取方式包括但不限于消息的时间标识的顺时针方式或时间标识的逆时针方式。以下从几个具体提取类型来描述:
参考图4,从其中一个提取类型来描述消息提取过程,所述按照所述提取类型从所述存储介质中提取与所述提取指令对应的消息的过程可以包括:
步骤S61,在所述提取类型为消息首次提取类型时,获取当前时间点;
步骤S62,根据所述当前时间点按时间标识的逆时针顺序提取N条存储在所述存储介质中的消息,返回所提取的消息的最大时间标识和最小时间标识,以提示提取的消息的范围。
在提取消息时,获取本次的提取类型,在所述提取类型为消息首次提取类型时,获取当前时间点,根据所述当前时间点按时间标识的逆时针顺序提取N条存储在所述存储介质中的消息,返回所提取的消息的最大时间标识和最小时间标识。所述N可以基于用户需求设定,例如,设置为500或600等。也可以基于在提取时,存储介质中所存储的消息的条数设置,例如,在存储介质中存储了300条消息,N设置为300或300以上。首次提取消息时,不携带时间戳,默认按服务器当前时间,按时间逆序提取N条记录的消息,并返回N条消息的最大和最小时间戳。因是首次提取消息,按照时间标识的逆时针顺序提取N条消息,即,将之前存储的未提取的消息提取出来,输出给用户查阅,并返回所提取的消息的最大时间标识和最小时间标识,即,返回所提取的消息离当前时间最近的时间点以及最远的时间点,通过返回这两个时间点可以清晰的了解到所提取的消息是否提取完,或者提示是否拉取到用户所需要提取的消息。
参考图5,从其中另一个提取类型来描述消息提取过程,所述按照所述提取类型从所述存储介质中提取与所述提取指令对应的消息的过程可以包括:
步骤S63,在所述提取类型为消息历史提取类型时,根据所述提取的N条消息的最小时间标识按时间标识的逆时针顺序提取n条存储在所述存储介质中的消息。
在提取消息时,获取本次的提取类型,在所述提取类型为消息历史提取类型时,根据所述提取的N条消息的最小时间标识按时间标识的逆时针顺序提取n条存储在所述存储介质中的消息。因需要提取历史存储的消息,将之前首次提取的消息中返回的最小时间标识作为消息提取的时间起点,逆时针顺序从存储介质中存储的消息中提取n条消息,即,从中提取在最小时间标识之前存储的消息。在提取历史消息时,用此前N条消息的最小时间戳,按时间逆序拉取n条记录的消息。所述n根据用户需求设置,例如,为50或100等,也还可以是,在所述最小时间标识之前还存在多少条消息时,将所述n设置为大于或等于所述最小时间标识之前还存在的消息的条数。在本发明其他实施例中,也还可以是按照预先设置的时间标识来提取n条历史消息,所述提取方式可以是顺时针或逆时针,根据所设置的时间标识来选择,例如,所设置的时间标识靠近当前时间点时,按逆时针提取;在所设置的时间标识离当前时间点的间隔大于1个月或2个月时,按顺时针提取。通过以最小时间标识为起点,快速提取存储介质中存储的消息,提高了消息提取的效率和准确度。
参考图6,从其中又一个提取类型来描述消息提取过程,所述按照所述提取类型从所述存储介质中提取与所述提取指令对应的消息的过程可以包括:
步骤S64,在所述提取类型为消息最新提取类型时,根据所述提取的N条消息的最大时间标识按时间标识的顺时针顺序或时间标识的逆时针顺序提取M条存储在所述存储介质中的消息。
在提取消息时,获取本次的提取类型,在所述提取类型为消息最新提取类型时,根据所述提取的N条消息的最大时间标识按时间标识的顺时针顺序或时间标识的逆时针顺序提取M条存储在所述存储介质中的消息。因需要提取最新存储的消息,将之前首次提取的消息中返回的最大时间标识作为消息提取的时间起点,顺时针顺序从存储介质中存储的消息中提取M条消息,即,从中提取在最大时间标识之后存储的消息。在提取最新消息时,用此前N条消息的最大时间戳,按时间顺序拉取M条记录的消息。所述M根据用户需求设置,例如,为80或120等,也还可以是,在所述最大时间标识之后还存在多少条消息时,将所述M设置为大于或等于所述最大时间标识之后还存在的消息的条数。在本发明其他实施例中,也还可以是按照预先设置的时间标识来提取M条最新消息,所述提取方式可以是顺时针或逆时针,根据所设置的时间标识来选择,例如,所设置的时间标识靠近当前时间点时,按逆时针提取;在所设置的时间标识离当前时间点的间隔大于10天或20天等时,按顺时针提取。通过以最大时间标识为起点,快速提取存储介质中存储的最新消息,提高了消息提取的效率和准确度。
参考图7,从其中又一个提取类型来描述消息提取过程,所述按照所述提取类型从所述存储介质中提取与所述提取指令对应的消息的过程可以包括:
步骤S65,在所述提取类型为消息指定提取类型时,获取所述提取指令对应的提取时间及提取顺序;
步骤S66,根据所述提取时间及所述提取顺序提取m条存储在所述存储介质中的消息。
在提取消息时,获取本次的提取类型,在所述提取类型为消息指定提取类型时,获取所述提取指令对应的提取时间及提取顺序;根据所述提取时间及所述提取顺序提取m条存储在所述存储介质中的消息。即,读取指定消息时,用指定时间和时间顺序或逆序,拉取m条记录的消息。所述提取时间和所述提取顺序在所述提取指令中携带。例如,需要提取一段时间内存储的消息,获取该时间内的最大时间点和最小时间点,在提取指令携带最大时间点时,提取顺序为时间标识的逆时针顺序,在提取指令携带最小时间点时,提取顺序为时间标识的顺时针顺序。所述m根据用户需求设置,例如,可以为40或70等。通过指定类型提取,消息提取效率提高,且更加准确的提取到需要的消息。
在本发明一实施例中,在提取出消息后,可以将提取的消息输出,或者在消息输出后提示是否需要删除所提取的消息,基于输出提示的确认消息来判断是否需要删除所提取的消息。在发明其他实施例中,在提取消息后,根据消息类型,从对应的存储区域按照时间标识的顺时针或逆时针方式提取消息。
为了更好的描述本发明实施例的作用,从以下场景来描述本发明实施例,本发明的游戏环境内消息存储装置可以通过消息中心实现,消息中心类似于一个用户信箱,任何想通知到具体某用户的消息,都可以推送给消息中心,通过消息中心进行存储然后完成消息的提取和推送。
例如,游戏中做运营活动,给符合某条件的用户发奖励,可以通过消息中心把奖励的信息发给符合条件的用户
又例如,玩家A对玩家B的某种行为感兴趣,可以对A的行为点赞、评论、私信,都可以通过消息中心实现。
对应地,提出本发明游戏环境内消息存储装置的较佳实施例。参考图8,所述游戏环境内消息存储装置包括存储模块10、生成模块20及关联模块30。
所述存储模块10,用于跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;
在本实施例中,所述有序集合类型的存储介质为zset,zset是在set的基础上增加了顺序,形成一个有序的集合。其中,set是一个集合,它是string类型的无序集合,set是通过hash table实现的,添加、删除、查找的复杂度都是O(1),对于集合我们可以取并集、交集或差集。通过这些操作我们可以实现SNS(专指在帮助人们建立社会性网络的互联网应用服务)中好友推荐和博客的分类。在本实施例优选为基于zset实现个人信息的存储和分类管理。所述个人消息为运行应用所产生的消息。
跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中。个人消息可以根据应用不同或者生成的个人消息的方式不同而存储在不同的存储位置。
所述生成模块20,用于按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息;
在产生一条新消息后,按照有序集合的消息标示规则自动生成所述新消息的标识信息,所述标识信息为时间标识信息。所述标示规则为存储介质自动生成微妙级别的时间戳作为新消息的下标。将所述下标的时间戳作为新消息的识别标识(例如,作为消息检索标识)。在新消息产生后,获取所述新消息产生的时间,根据所产生的时间自动生成微妙级别的时间戳作为所述新消息的下标,即,作为所述新消息的标识信息。在多个新消息的所产生的时间相同时,为所产生的不同新消息设置出时间戳以外的附加标识信息,所述附加标识信息为区分相同时间产生的新消息,所述附加标识可以是字符串或数字等,同样以下标的方式与时间戳结合起来区分不同的消息。例如,存在多个相同的新消息时间戳为2015-10-08 09:00,所述多个新消息为消息a、消息b和消息c,为不同新消息设置附加标识信息,例如,为消息a设置附加标识1,为消息b设置附加标识2,为消息c设置附加标识3,所设置的附加标识与时间戳一起作为消息的下标,用以区分不同的消息,即,将所设置的标识作为消息的消息编号。
所述关联模块30,用于将所述自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置。
在成功生成新消息的标识信息后,将所述自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置。所述用户相关的位置为提前设置在存储介质中的位置,每个游戏用户的相关存储位置不同。所述存储过程例如,在设置了消息a的标识信息为2015-10-08 09:00,消息b的标识信息为2015-10-08 09:01,消息c的标识信息为2015-10-08 09:02分后,将2015-10-08 09:00作为下标标记消息a存储在所述存储介质中,将2015-10-0809:01作为下标标记消息b存储在所述存储介质中,将2015-10-08 09:02作为下标标记消息c存储在所述存储介质中。所述存储的消息按照下标的时间戳有顺序的保存在所述存储介质中,即,每个消息按照所携带的时间戳不同依次保存在所述存储介质中。例如,消息a的下标标记为2015-10-08 09:00,消息b的下标标记为2015-10-08 09:01,消息c的下标标记为2015-10-08 09:02,保存顺序为消息a、消息b和消息c,时间戳在前的保存在时间戳再后的。例如,消息d的下标标记为2015-10-08 09:10,消息e的下标标记为2015-10-08 09:08,消息f的下标标记为2015-10-08 09:15,保存顺序为消息e、消息d和消息f。
在本发明一实施例中,为了更好的区分不同的消息,先对所产生的消息进行类型划分或者应用的划分,将属于同一类型或者同一应用的消息归于一类,将消息分为不同的类,再为分类后的消息自动将时间戳作为下标关联保存,在找寻数据时,可以根据类型或者应用在对应存储区域查找,方便消息的后续输出。
在本发明其他实施例中,也还可以是在产生新消息时,自动生成标识信息,然后将标识信息与消息一并存储至存储介质中。
本实施例通过自动将消息产生的时间以下标的方式作为消息的编号,无需再重新去生成消息编号,降低了消息存储的复杂程度,且以时间戳为下标区分不同的消息,使得消息存储结构清晰,提高了消息存储的效率。
进一步地,基于上述游戏环境内消息存储装置的第一实施例,提出本发明游戏环境内消息存储装置的第二实施例。如图9所示,所述游戏环境内消息存储装置还包括:接收模块40、确定模块50、提取模块60及输出模块70。
所述接收模块40,用于跟踪游戏玩家活动以捕捉消息的提取指令,接收消息提取指令;
所述确定模块50,用于在接收到所述提取指令时,确定所述提取指令的提取类型及所述提取类型对应的提取方式;
所述提取模块60,用于按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息;
所述输出模块70,用于输出所提取的消息。
在本实施例中,在关联保存标识信息至新消息后,输出推送通知,显示红点提醒,触发用户提取消息。跟踪游戏玩家活动以捕捉消息的提取指令,以捕捉到用户提取消息的触发操作。所述触发用户提取消息的过程也还可以是:设置一预设时间(1小时或2小时等),在预设时间达到时,输出推送通知,显示红点提醒,触发用户提取消息。或者设置一时间点,例如,所述时间点为上午9:00,在每天的上午9:00到达时,输出推送通知,显示红点提醒,触发用户提取消息。所述时间点可以设置多个,在每个时间点到达时,输出推送通知,显示红点提醒,触发用户提取消息。
在输出推送通知后,或者在有新消息存储后,接收消息提取指令。所述消息提取指令可以由物理按键或虚拟按键触发。跟踪游戏玩家活动以捕捉消息的提取指令,在接收到所述提取指令时,确定所述提取指令的提取类型及所述提取类型对应的提取方式,按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息,输出所提取的消息。所述提取类型包括但不限于消息首次提取类型、消息历史提取类型、消息最新提取类型或消息指定提取类型。所述提取方式包括但不限于消息的时间标识的顺时针方式或时间标识的逆时针方式。以下从几个具体提取类型来描述:
参考图10,所述提取模块60包括获取单元61和提取单元62,从其中一个提取类型来描述消息提取过程,
所述获取单元61,用于在所述提取类型为消息首次提取类型时,获取当前时间点;
所述提取单元62,用于根据所述当前时间点按时间标识的逆时针顺序提取N条存储在所述存储介质中的消息,返回所提取的消息的最大时间标识和最小时间标识,以提示提取的消息的范围。
在提取消息时,获取本次的提取类型,在所述提取类型为消息首次提取类型时,获取当前时间点,根据所述当前时间点按时间标识的逆时针顺序提取N条存储在所述存储介质中的消息,返回所提取的消息的最大时间标识和最小时间标识。所述N可以基于用户需求设定,例如,设置为500或600等。也可以基于在提取时,存储介质中所存储的消息的条数设置,例如,在存储介质中存储了300条消息,N设置为300或300以上。首次提取消息时,不携带时间戳,默认按服务器当前时间,按时间逆序提取N条记录的消息,并返回N条消息的最大和最小时间戳。因是首次提取消息,按照时间标识的逆时针顺序提取N条消息,即,将之前存储的未提取的消息提取出来,输出给用户查阅,并返回所提取的消息的最大时间标识和最小时间标识,即,返回所提取的消息离当前时间最近的时间点以及最远的时间点,通过返回这两个时间点可以清晰的了解到所提取的消息是否提取完,或者提示是否拉取到用户所需要提取的消息。
进一步地,从其中另一个提取类型来描述消息提取过程,所述提取单元62,还用于在所述提取类型为消息历史提取类型时,根据所述提取的N条消息的最小时间标识按时间标识的逆时针顺序提取n条存储在所述存储介质中的消息。
在提取消息时,获取本次的提取类型,在所述提取类型为消息历史提取类型时,根据所述提取的N条消息的最小时间标识按时间标识的逆时针顺序提取n条存储在所述存储介质中的消息。因需要提取历史存储的消息,将之前首次提取的消息中返回的最小时间标识作为消息提取的时间起点,逆时针顺序从存储介质中存储的消息中提取n条消息,即,从中提取在最小时间标识之前存储的消息。在提取历史消息时,用此前N条消息的最小时间戳,按时间逆序拉取n条记录的消息。所述n根据用户需求设置,例如,为50或100等,也还可以是,在所述最小时间标识之前还存在多少条消息时,将所述n设置为大于或等于所述最小时间标识之前还存在的消息的条数。在本发明其他实施例中,也还可以是按照预先设置的时间标识来提取n条历史消息,所述提取方式可以是顺时针或逆时针,根据所设置的时间标识来选择,例如,所设置的时间标识靠近当前时间点时,按逆时针提取;在所设置的时间标识离当前时间点的间隔大于1个月或2个月时,按顺时针提取。通过以最小时间标识为起点,快速提取存储介质中存储的消息,提高了消息提取的效率和准确度。
进一步地,从其中又一个提取类型来描述消息提取过程,所述提取单元62,还用于在所述提取类型为消息最新提取类型时,根据所述提取的N条消息的最大时间标识按时间标识的顺时针顺序或时间标识的逆时针顺序提取M条存储在所述存储介质中的消息。
在提取消息时,获取本次的提取类型,在所述提取类型为消息最新提取类型时,根据所述提取的N条消息的最大时间标识按时间标识的顺时针顺序或时间标识的逆时针顺序提取M条存储在所述存储介质中的消息。因需要提取最新存储的消息,将之前首次提取的消息中返回的最大时间标识作为消息提取的时间起点,顺时针顺序从存储介质中存储的消息中提取M条消息,即,从中提取在最大时间标识之后存储的消息。在提取最新消息时,用此前N条消息的最大时间戳,按时间顺序拉取M条记录的消息。所述M根据用户需求设置,例如,为80或120等,也还可以是,在所述最大时间标识之后还存在多少条消息时,将所述M设置为大于或等于所述最大时间标识之后还存在的消息的条数。在本发明其他实施例中,也还可以是按照预先设置的时间标识来提取M条最新消息,所述提取方式可以是顺时针或逆时针,根据所设置的时间标识来选择,例如,所设置的时间标识靠近当前时间点时,按逆时针提取;在所设置的时间标识离当前时间点的间隔大于10天或20天等时,按顺时针提取。通过以最大时间标识为起点,快速提取存储介质中存储的最新消息,提高了消息提取的效率和准确度。
进一步地,从其中又一个提取类型来描述消息提取过程,所述获取单元61,还用于在所述提取类型为消息指定提取类型时,获取所述提取指令对应的提取时间及提取顺序;
所述提取单元62,还用于根据所述提取时间及所述提取顺序提取m条存储在所述存储介质中的消息。
在提取消息时,获取本次的提取类型,在所述提取类型为消息指定提取类型时,获取所述提取指令对应的提取时间及提取顺序;根据所述提取时间及所述提取顺序提取m条存储在所述存储介质中的消息。即,读取指定消息时,用指定时间和时间顺序或逆序,拉取m条记录的消息。所述提取时间和所述提取顺序在所述提取指令中携带。例如,需要提取一段时间内存储的消息,获取该时间内的最大时间点和最小时间点,在提取指令携带最大时间点时,提取顺序为时间标识的逆时针顺序,在提取指令携带最小时间点时,提取顺序为时间标识的顺时针顺序。所述m根据用户需求设置,例如,可以为40或70等。通过指定类型提取,消息提取效率提高,且更加准确的提取到需要的消息。
在本发明一实施例中,在提取出消息后,可以将提取的消息输出,或者在消息输出后提示是否需要删除所提取的消息,基于输出提示的确认消息来判断是否需要删除所提取的消息。在发明其他实施例中,在提取消息后,根据消息类型,从对应的存储区域按照时间标识的顺时针或逆时针方式提取消息。
为了更好的描述本发明实施例的作用,从以下场景来描述本发明实施例,本发明的游戏环境内消息存储装置可以通过消息中心实现,消息中心类似于一个用户信箱,任何想通知到具体某用户的消息,都可以推送给消息中心,通过消息中心进行存储然后完成消息的提取和推送。
例如,游戏中做运营活动,给符合某条件的用户发奖励,可以通过消息中心把奖励的信息发给符合条件的用户
又例如,玩家A对玩家B的某种行为感兴趣,可以对A的行为点赞、评论、私信,都可以通过消息中心实现。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
Claims (12)
1.一种游戏环境内消息存储方法,其特征在于,包括步骤:
跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;
获取所述新消息产生的时间,按照有序集合的消息标示规则,将所述产生的时间自动生成时间戳作为所述新消息的标识信息,所述标识信息为时间标识信息;
将自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置;
跟踪游戏玩家活动以捕捉消息的提取指令,接收消息提取指令;
在接收到所述提取指令时,确定所述提取指令的提取类型及所述提取类型对应的提取方式,所述提取类型包括消息首次提取类型、消息历史提取类型、消息最新提取类型或消息指定提取类型,所述提取方式包括时间标识的顺时针方式或时间标识的逆时针方式;
按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息,输出所提取的消息。
2.如权利要求1所述的游戏环境内消息存储方法,其特征在于,所述按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息的步骤包括:
在所述提取类型为消息首次提取类型时,获取当前时间点;
根据所述当前时间点按时间标识的逆时针顺序提取N条存储在所述存储介质中的消息,返回所提取的N条消息的最大时间标识和最小时间标识,以提示提取的消息的范围。
3.如权利要求2所述的游戏环境内消息存储方法,其特征在于,所述按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息的步骤包括:
在所述提取类型为消息历史提取类型时,根据所述提取的N条消息的最小时间标识按时间标识的逆时针顺序提取n条存储在所述存储介质中的消息。
4.如权利要求2所述的游戏环境内消息存储方法,其特征在于,所述按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息的步骤包括:
在所述提取类型为消息最新提取类型时,根据所述提取的N条消息的最大时间标识按时间标识的顺时针顺序或时间标识的逆时针顺序提取M条存储在所述存储介质中的消息。
5.如权利要求1至4任一项所述的游戏环境内消息存储方法,其特征在于,所述按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息的步骤包括:
在所述提取类型为消息指定提取类型时,获取所述提取指令对应的提取时间及提取顺序;
根据所述提取时间及所述提取顺序提取m条存储在所述存储介质中的消息。
6.一种游戏环境内消息存储装置,其特征在于,包括:
存储模块,用于跟踪游戏玩家活动以捕捉消息的产生,在产生新消息时,将所述新消息存储在有序集合类型的存储介质中;
生成模块,用于获取所述新消息产生的时间,按照有序集合的消息标示规则,将所述产生的时间自动生成时间戳作为所述新消息的标识信息,所述标识信息为时间标识信息;
关联模块,用于将自动生成的标识信息与所述新消息关联存储至与用户相关的存储位置;
接收模块,用于跟踪游戏玩家活动以捕捉消息的提取指令,接收消息提取指令;
确定模块,用于在接收到所述提取指令时,确定所述提取指令的提取类型及所述提取类型对应的提取方式,所述提取类型包括消息首次提取类型、消息历史提取类型、消息最新提取类型或消息指定提取类型,所述提取方式包括时间标识的顺时针方式或时间标识的逆时针方式;
提取模块,用于按照所述提取方式从所述存储介质中提取与所述提取指令对应的消息;
输出模块,用于输出所提取的消息。
7.如权利要求6所述的游戏环境内消息存储装置,其特征在于,所述提取模块包括:
获取单元,用于在所述提取类型为消息首次提取类型时,获取当前时间点;
提取单元,用于根据所述当前时间点按时间标识的逆时针顺序提取N条存储在所述存储介质中的消息,返回所提取的消息的最大时间标识和最小时间标识,以提示提取的消息的范围。
8.如权利要求7所述的游戏环境内消息存储装置,其特征在于,所述提取单元,还用于在所述提取类型为消息历史提取类型时,根据所述提取的N条消息的最小时间标识按时间标识的逆时针顺序提取n条存储在所述存储介质中的消息。
9.如权利要求7所述的游戏环境内消息存储装置,其特征在于,所述提取单元,还用于在所述提取类型为消息最新提取类型时,根据所述提取的N条消息的最大时间标识按时间标识的顺时针顺序或时间标识的逆时针顺序提取M条存储在所述存储介质中的消息。
10.如权利要求7至9任一项所述的游戏环境内消息存储装置,其特征在于,所述获取单元,还用于在所述提取类型为消息指定提取类型时,获取所述提取指令对应的提取时间及提取顺序;
所述提取单元,还用于根据所述提取时间及所述提取顺序提取m条存储在所述存储介质中的消息。
11.一种游戏环境内消息存储装置,其特征在于,包括:
存储器,用于存储可执行程序;
处理器,用于调用所述存储器中存储的消息存储程序,实现权利要求1至5任一项所述的游戏环境内消息存储方法。
12.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至5任一项所述的游戏环境内消息存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510791009.3A CN106708418B (zh) | 2015-11-16 | 2015-11-16 | 游戏环境内消息存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510791009.3A CN106708418B (zh) | 2015-11-16 | 2015-11-16 | 游戏环境内消息存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708418A CN106708418A (zh) | 2017-05-24 |
CN106708418B true CN106708418B (zh) | 2020-06-16 |
Family
ID=58932216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510791009.3A Active CN106708418B (zh) | 2015-11-16 | 2015-11-16 | 游戏环境内消息存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708418B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138868B (zh) * | 2021-04-28 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 一种消息处理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003036445A1 (en) * | 2001-10-22 | 2003-05-01 | Rambus Inc. | Timing calibration apparatus and method for a memory device signaling system |
CN1875340A (zh) * | 2003-10-30 | 2006-12-06 | 三星电子株式会社 | 存储程序管理信息的存储介质以及再现方法和设备 |
CN1963829A (zh) * | 2006-11-28 | 2007-05-16 | 北京金山软件有限公司 | 在网络游戏中获取游戏元素信息的方法及网络游戏系统 |
CN1984701A (zh) * | 2004-05-11 | 2007-06-20 | 科乐美数码娱乐株式会社 | 游戏装置、游戏控制方法、信息记录介质以及程序 |
CN102933268A (zh) * | 2010-04-05 | 2013-02-13 | 索尼电脑娱乐公司 | 游戏装置 |
CN104348813A (zh) * | 2013-08-06 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 网络游戏信息的处理方法、装置及系统 |
-
2015
- 2015-11-16 CN CN201510791009.3A patent/CN106708418B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003036445A1 (en) * | 2001-10-22 | 2003-05-01 | Rambus Inc. | Timing calibration apparatus and method for a memory device signaling system |
CN1875340A (zh) * | 2003-10-30 | 2006-12-06 | 三星电子株式会社 | 存储程序管理信息的存储介质以及再现方法和设备 |
CN1984701A (zh) * | 2004-05-11 | 2007-06-20 | 科乐美数码娱乐株式会社 | 游戏装置、游戏控制方法、信息记录介质以及程序 |
CN1963829A (zh) * | 2006-11-28 | 2007-05-16 | 北京金山软件有限公司 | 在网络游戏中获取游戏元素信息的方法及网络游戏系统 |
CN102933268A (zh) * | 2010-04-05 | 2013-02-13 | 索尼电脑娱乐公司 | 游戏装置 |
CN104348813A (zh) * | 2013-08-06 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 网络游戏信息的处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106708418A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844404B (zh) | 消息显示方法及终端设备 | |
JP7283067B2 (ja) | 通信プラットフォームにおける割り込み会話のデタングル化システムと方法、非構造化メッセージを解析する方法、プログラム、及びコンピュータ装置 | |
US9742721B2 (en) | Method, system, server and client device for message synchronizing | |
JP6689515B2 (ja) | ユーザ地理的ロケーションのタイプを識別するための方法および装置 | |
US11356498B2 (en) | Method and a device for sharing a hosted application | |
CN106850406B (zh) | 一种内容分享方法及装置 | |
CN108809809B (zh) | 消息发送方法、计算机设备及存储介质 | |
EP2783501A1 (en) | Contact information synchronization system and method | |
CN110673833B (zh) | 用于程序化广告投放的信息管理系统及广告投放平台系统 | |
US20130103747A1 (en) | Posted information sharing system, information-processing device, storage medium, server, information-processing method, and information-processing system | |
JP6522129B2 (ja) | 情報処理方法及びデバイス | |
KR102676789B1 (ko) | 미응답 메시지를 수집하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체 | |
CN107168599B (zh) | 一种即时通信方法和装置 | |
CN111510439A (zh) | 会话提醒方法、装置、计算机设备和存储介质 | |
CN106611065B (zh) | 搜索方法和装置 | |
CN109672608B (zh) | 根据时间发送消息的方法 | |
CN106708418B (zh) | 游戏环境内消息存储方法及装置 | |
CN112860567A (zh) | 埋点识别方法、装置、计算机设备和存储介质 | |
WO2015180306A1 (zh) | 一种即时消息查询方法、装置及计算机存储介质 | |
CN116541591A (zh) | 一种信息处理方法、装置、电子设备及存储介质 | |
CN107920012B (zh) | 即时通信消息的存储方法和装置 | |
JP6750838B1 (ja) | 業務自動処理の手順定義装置、及び業務自動処理の手順定義システム | |
JP5957024B2 (ja) | 検索装置、検索方法およびプログラム | |
CN115599907A (zh) | 定位聊天记录方法、设备、存储介质及装置 | |
JP2010134552A (ja) | コンテンツ管理システム、コンテンツ管理方法及びコンテンツ管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |