消息存储方法、消息生成方法、装置、电子设备及计算机可读介质与流程

文档序号:25097915发布日期:2021-05-18 22:16阅读:109来源:国知局
消息存储方法、消息生成方法、装置、电子设备及计算机可读介质与流程

1.本申请实施例涉及计算机技术领域,具体涉及消息存储方法、消息生成方法、装置、电子设备及计算机可读介质。


背景技术:

2.在互联网应用中,用户在使用app时,通常会订阅一些感兴趣的明星、话题、圈子等,来接收相关订阅消息。另外用户也会通过预约一些待上映的电影、电视剧等,来及时接收这些电影或电视剧的上映消息。
3.相关技术中,如果用户订阅的明星圈子等有新消息产生时,系统会为每一位订阅用户都生成一条消息,并对每个用户的每条消息都进行存储,以便及时下发给用户。由于每个用户的每条消息都要在系统中存储一份,导致大量的存储资源被占用。


技术实现要素:

4.本申请实施例提出了消息存储方法、消息生成方法、装置、电子设备及计算机可读介质,以解决相关技术中订阅消息占用大量存储资源的问题。
5.第一方面,本申请实施例提供了一种消息存储方法,该方法包括:
6.建立并存储模板对应关系以及参数对应关系,所述模板对应关系包括模板标识与模板内容之间的对应关系,所述参数对应关系包括以下至少之一:参数标识与参数值之间的对应关系以及参数标识与参数类型之间的对应关系;
7.响应于消息发布通知,获取与待发布消息对应的目标模板标识以及目标参数标识;
8.存储所述目标模板标识以及所述目标参数标识,所述目标模板标识、所述目标参数标识、所述模板对应关系以及所述参数对应关系用于生成所述待发布消息。
9.在一种可选的实现方式中,建立模板对应关系的步骤,包括:
10.建立消息模板库,所述消息模板库包括消息模板,所述消息模板包括模板内容,与所述模板内容具有对应关系的模板标识由所述消息模板库的标识和所述消息模板的标识构成。
11.在一种可选的实现方式中,建立参数对应关系的步骤,包括以下步骤至少之一:
12.建立固定参数库,所述固定参数库包括固定参数的参数值,与所述参数值具有对应关系的参数标识由所述固定参数库的标识和所述固定参数的标识构成;以及
13.建立动态参数库,所述动态参数库包括动态参数的参数类型,与所述参数类型具有对应关系的参数标识由所述动态参数库的标识和所述动态参数的标识构成。
14.第二方面,本申请实施例提供了一种消息生成方法,该方法包括:
15.响应于待发布消息的获取请求,获取预先存储的与所述待发布消息对应的目标模板标识以及目标参数标识;
16.基于预先存储的模板对应关系,获得所述目标模板标识对应的目标模板内容;
17.基于预先存储的参数对应关系,确定所述目标参数标识对应的目标参数的参数值;
18.将所述目标参数的参数值插入所述目标模板内容中的预设位置,生成所述待发布消息。
19.在一种可选的实现方式中,所述预设位置包括第一预设位置,所述目标参数标识包括第一参数标识,所述第一参数标识对应的第一参数为固定参数,所述确定所述目标参数标识对应的目标参数的参数值的步骤,包括:
20.基于预先存储的参数标识与参数值之间的对应关系,获得所述第一参数的参数值;
21.所述将所述目标参数的参数值插入所述目标模板内容中的预设位置的步骤,包括:
22.将所述第一参数的参数值插入所述第一预设位置。
23.在一种可选的实现方式中,所述预设位置包括第二预设位置,所述目标参数标识包括第二参数标识,所述第二参数标识对应的第二参数为动态参数,所述确定所述目标参数标识对应的目标参数的参数值的步骤,包括:
24.基于预先存储的参数标识与参数类型之间的对应关系,获得所述第二参数的参数类型;
25.根据所述第二参数的参数类型,获得所述第二参数的参数值;
26.所述将所述目标参数的参数值插入所述目标模板内容中的预设位置的步骤,包括:
27.将所述第二参数的参数值插入所述第二预设位置。
28.在一种可选的实现方式中,所述第二参数的参数类型为用户属性,在根据所述第二参数的参数类型,获得所述第二参数的参数值的步骤之前,还包括:
29.获取订阅用户的标识;
30.所述根据所述第二参数的参数类型,获得所述第二参数的参数值的步骤,包括:
31.根据预先存储的用户标识与所述用户属性的对应关系,获取所述订阅用户的标识对应的用户属性,从所述订阅用户的标识对应的用户属性中读取所述订阅用户的属性值,以作为所述第二参数的参数值。
32.在一种可选的实现方式中,所述第二参数的参数类型为对象属性,在根据所述第二参数的参数类型,获得所述第二参数的参数值的步骤之前,还包括:
33.获取订阅对象的标识;
34.所述根据所述第二参数的参数类型,获得所述第二参数的参数值的步骤,包括:
35.根据预先存储的对象标识与所述对象属性的对应关系,获取所述订阅对象的标识对应的对象属性,从所述订阅对象的标识对应的对象属性中读取所述订阅对象的属性值,以作为所述第二参数的参数值。
36.第三方面,本申请实施例提供了一种消息存储装置,该装置包括:
37.对应关系存储模块,被配置为建立并存储模板对应关系以及参数对应关系,所述模板对应关系包括模板标识与模板内容之间的对应关系,所述参数对应关系包括以下至少
之一:参数标识与参数值之间的对应关系以及参数标识与参数类型之间的对应关系;
38.标识获取模块,被配置为响应于消息发布通知,获取与待发布消息对应的目标模板标识以及目标参数标识;
39.标识存储模块,被配置为存储所述目标模板标识以及所述目标参数标识,所述目标模板标识、所述目标参数标识、所述模板对应关系以及所述参数对应关系用于生成所述待发布消息。
40.第四方面,本申请实施例提供了一种消息生成装置,该装置包括:
41.标识获取模块,被配置为响应于待发布消息的获取请求,获取预先存储的与所述待发布消息对应的目标模板标识以及目标参数标识;
42.模板获取模块,被配置为基于预先存储的模板对应关系,获得所述目标模板标识对应的目标模板内容;
43.参数获取模块,被配置为基于预先存储的参数对应关系,确定所述目标参数标识对应的目标参数的参数值;
44.消息生成模块,被配置为将所述目标参数的参数值插入所述目标模板内容中的预设位置,生成所述待发布消息。
45.第五方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一实施例的方法。
46.第六方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面中任一实施例的方法。
47.本申请技术方案,基于订阅消息和预约消息具有相似性的特点,建立并存储了模板对应关系以及参数对应关系,其中,模板对应关系为模板标识与模板内容之间的对应关系,参数对应关系为参数标识与参数值和/或参数类型之间的对应关系。在生成待发布消息时,根据预先存储的目标模板标识、目标参数标识、模板对应关系以及参数对应关系,就可以针对多个订阅用户生成个性化的待发布消息。因此,本方案在存储了模板对应关系以及参数对应关系的基础上,针对多个订阅用户,只需存储一份目标模板标识以及目标参数标识即可,无需对每个订阅用户的个性化订阅消息分别进行存储,从而可以节省存储资源,降低成本。
附图说明
48.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
49.图1是根据本申请的消息存储方法的一个实施例的流程图;
50.图2是根据本申请的建立模板对应关系的一个实施例的示意图;
51.图3a是根据本申请的固定参数对应关系的一个实施例的示意图;
52.图3b是根据本申请的动态参数对应关系的一个实施例的示意图;
53.图4是根据本申请的消息存储方法的一个具体实现方式的示意图;
54.图5是根据本申请的消息生成方法的一个实施例的流程图;
55.图6是根据本申请的消息生成方法的一个实现方式的流程图;
56.图7是根据本申请的消息存储装置的一个实施例的结构示意图;
57.图8是根据本申请的消息生成装置的一个实施例的结构示意图;
58.图9是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
59.下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
60.需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
61.相关技术中,用户向业务后台订阅(或预约)自己感兴趣的内容。业务后台产生新消息时,系统会为每一位订阅用户都生成一条消息,并对每个用户的每条消息都进行存储,以便及时下发给用户,由于每个用户的每条消息都要在系统中存储一份,导致大量的存储资源占用。
62.在解决上述问题的过程中,发明人发现,对于订阅相同内容的多个用户,生成的消息之间相同或相似,比如用户a和用户b都预约了电影c,对于用户a可以生成消息“用户a,您预约的电影c上线了”,对于用户b也可以生成消息“用户b,您预约的电影c上线了”,等等。基于订阅消息和预约消息具有相似性的特点,本实施例提供了以下解决方案。
63.请参考图1,其示出了根据本申请的消息存储方法的一个实施例的流程图。该消息存储方法包括以下步骤:
64.步骤101,建立并存储模板对应关系以及参数对应关系,模板对应关系包括模板标识与模板内容之间的对应关系,参数对应关系包括以下至少之一:参数标识与参数值之间的对应关系以及参数标识与参数类型之间的对应关系。
65.本实施例提供的消息存储方法的执行主体例如可以为服务器等电子设备。
66.在具体实现中,模板对应关系可以通过在服务器中构建一个或多个消息模板库来实现,消息模板库可以包括一个或多个消息模板,各消息模板包括模板内容。与模板内容具有对应关系的模板标识由该模板内容所属的消息模板库的标识以及消息模板的标识构成。后续实施例会详细介绍模板对应关系的建立过程。
67.在具体实现中,参数对应关系可以通过在服务器中构建一个或多个固定参数库和/或动态参数库来实现。其中,固定参数库可以包括一个或多个固定参数,各固定参数包括固定参数的标识以及参数值,与参数值具有对应关系的参数标识由该参数值所属的固定参数库的标识以及固定参数的标识构成。动态参数库可以包括一个或多个动态参数,各动态参数包括动态参数的标识以及参数类型,与参数类型具有对应关系的参数标识由该参数类型所属的动态参数库的标识以及动态参数的标识构成。后续实施例会详细介绍参数对应关系的建立过程。
68.步骤102,响应于消息发布通知,获取与待发布消息对应的目标模板标识以及目标参数标识。
69.在具体实现中,服务器可以通过多种方式来获取与待发布消息对应的目标模板标识和目标参数标识。例如,待发布消息为“小a您好!您订阅的电影《姜子牙》要上线了”,后台
管理人员可以通过下拉菜单选取与该待发布消息对应的目标模板标识和目标参数标识,然后通过点击提交按钮通知服务器发布消息,服务器响应于该通知,可以获取与待发布消息对应的目标模板标识和目标参数标识。其中目标模板标识为目标模板“xx您好!您订阅的电影《y》要上线了”的标识,目标参数标识包括目标参数“xx”和“y”的标识。
70.步骤103,存储目标模板标识以及目标参数标识,目标模板标识、目标参数标识、模板对应关系以及参数对应关系用于生成待发布消息。
71.在具体实现中,服务器可以将与待发布消息对应的目标模板标识以及目标参数标识存储在硬盘或内存中。
72.当需要生成待发布消息时,例如当服务器接收到用户发送的待发布消息获取请求时,可以获取采用本实施例提供的消息存储方法存储的与待发布消息对应的目标模板标识以及目标参数标识,进而根据目标模板标识、目标参数标识、模板对应关系以及参数对应关系,生成待发布消息。在待发布消息的生成过程中实现针对不同订阅用户或订阅对象的订阅消息的个性化。
73.本实施例提供的消息存储方法,基于订阅消息和预约消息具有相似性的特点,建立并存储了模板对应关系以及参数对应关系,其中,模板对应关系为模板标识与模板内容之间的对应关系,参数对应关系为参数标识与参数值和/或参数类型之间的对应关系。在生成待发布消息时,根据预先存储的,与待发布消息对应的目标模板标识和目标参数标识,以及模板对应关系和参数对应关系,就可以针对多个订阅用户生成个性化的待发布消息。因此,本方案在存储了模板对应关系以及参数对应关系的基础上,针对多个订阅用户,只需存储一份目标模板标识以及目标参数标识即可,无需对每个订阅用户的个性化订阅消息分别进行存储,从而可以节省存储资源,降低成本。
74.在一种可选的实现方式中,在步骤101中建立模板对应关系的步骤,可以包括:建立消息模板库,消息模板库包括消息模板,消息模板包括模板内容,与模板内容具有对应关系的模板标识由消息模板库的标识和消息模板的标识构成。
75.在具体实现中,参照图2,可以在服务器中构建一个或多个消息模板库,每个消息模板库由唯一的消息模板库标识(identity document,id)表示,如消息模板库1和消息模板库2。各消息模板库可以包括一个或多个消息模板,每个消息模板由其所在的消息模板库内唯一的消息模板id表示,如消息模板库1中的消息模板1、消息模板2以及消息模板3等。各消息模板包括模板内容,模板内容包含文本形式的消息内容,还可以包含位于消息内容中预设位置的一组格式化参数,如消息模板库2中的消息模板2包含格式化参数1和格式化参数2等。
76.本实现方式中,与模板内容具有对应关系的模板标识由该模板内容所属的消息模板库的标识(消息模板库id)以及消息模板的标识(消息模板id)构成。
77.在目标模板内容“xx您好!您订阅的电影《y》要上线了”中,包含两个格式化参数,分别为“xx”和“y”。需要说明的是,格式化参数相当于形式参数,是在消息生成的过程中需要由实际的参数值替换掉的参数。一个消息模板的模板内容所包含的格式化参数的个数及在模板内容中位置可以根据实际需求定义,本实施例对此不作限定。
78.本实现方式中,基于订阅消息和预约消息具有相似性的特点,通过构建消息模板库,建立模板标识与模板内容之间的对应关系,支持生成多样化的订阅消息。通过建立多个
消息模板库,每个消息模板库所包含的消息模板数量相对较少,与一个消息模板库包含所有的消息模板的方案相比,本实现方式可以提高模板内容的查询效率。
79.在一种可选的实现方式中,在步骤101中建立参数对应关系的步骤,可以包括以下步骤至少之一:
80.建立固定参数库,固定参数库包括固定参数的参数值,与参数值具有对应关系的参数标识由固定参数库的标识和固定参数的标识构成;以及
81.建立动态参数库,动态参数库包括动态参数的参数类型,与参数类型具有对应关系的参数标识由动态参数库的标识和动态参数的标识构成。
82.本实施例中,参数可以分为固定参数和动态参数。其中,固定参数指的是参数值不会发生变化的参数,比如明星名字,电视剧名称等。动态参数指的是参数值会发生变化的参数,比如用户昵称,圈子昵称等。例如,“xx您好!您订阅的电影《y》要上线了”中,参数“xx”的类型为用户昵称,因此参数“xx”为动态参数;参数“y”的类型为电影名称,因此参数“y”为固定参数。
83.在具体实现中,可以根据实际需求只建立固定参数库,或者只建立动态参数库,或者建立固定参数库以及动态参数库,本实施例对此不作限定。
84.本实施例中,可以在服务器中构建一个或多个固定参数库,参照图3a,每个固定参数库由唯一的固定参数库id表示,如固定参数库1和固定参数库2。各固定参数库可以包括一个或多个固定参数,每个固定参数由其所在的固定参数库内唯一的固定参数id及参数值构成,其中固定参数id如固定参数库1中的固定参数1、固定参数2以及固定参数3等。本实现方式中,与参数值具有对应关系的参数标识由该参数值所属的固定参数库id和固定参数id构成。
85.本实施例中,还可以在服务器中构建一个或多个动态参数库,参照图3b,每个动态参数库可以由唯一的动态参数库id表示,如动态参数库1和动态参数库2。各动态参数库可以包括一个或多个动态参数,每个动态参数由其所在的动态参数库内唯一的动态参数id及参数类型构成,其中动态参数id如动态参数库1中的动态参数1、动态参数2以及动态参数3等。动态参数具有参数类型,本实现方式中,与参数类型具有对应关系的参数标识由该参数类型所属的动态参数库id和动态参数id构成。其中,动态参数的参数类型可以为用户昵称、圈子昵称等。
86.本实现方式中,基于订阅消息和预约消息具有相似性的特点,通过构建固定参数库,建立参数标识与参数值之间的对应关系;通过构建动态参数库,建立参数标识与参数类型之间的对应关系,从而支持生成个性化的订阅消息。通过建立多个参数库,每个参数库所包含的参数数量相对较少,与一个参数库包含所有参数的方案相比,本实现方式可以提高参数值或参数类型的查询效率。
87.参照图4,在需要发布订阅消息时,只需要存储目标模板标识(包括消息模板库id和消息模板id)以及与目标模板标识对应的目标参数标识(包括一组或多组参数库id和参数id)即可。例如,对于用户a订阅的消息1,目标模板标识由消息模板库1和消息模板2构成,目标参数标识由固定参数库2和固定参数1构成;对于用户b订阅的消息2,目标模板标识由消息模板库2和消息模板1构成,目标参数标识由动态参数库2和动态参数1构成;对于用户c订阅的消息3,目标模板标识由消息模板库2和消息模板3构成,第一目标参数标识由固定参
数库2和固定参数2构成,第二目标参数标识由动态参数库2和动态参数1构成;对于用户d订阅的消息3,目标模板标识由消息模板库2和消息模板3构成,第一目标参数标识由固定参数库2和固定参数2构成,第二目标参数标识由动态参数库2和动态参数1构成。在后续生成这些消息时,只需要根据存储在消息后台的消息模板库id以及消息模板id查询预先存储的模板对应关系,并根据存储在消息后台的参数库id和参数id查询预先存储的参数对应关系,即可生成待发布消息如消息1、消息2和消息3。
88.由图4可以看出,用户c和用户d订阅了相同的消息3,因此,对于这两个用户的订阅消息只存储一份消息3即可,与现有技术相比,本发明可以不用重复存储消息3,从而可以节省存储空间。
89.请参考图5,其示出了根据本申请的消息生成方法的一个实施例的流程图。该消息生成方法包括以下步骤:
90.步骤501,响应于待发布消息的获取请求,获取预先存储的与待发布消息对应的目标模板标识以及目标参数标识。
91.在具体实现中,服务器可以根据用户发送的待发布消息的获取请求,获取预先存储的与该待发布消息对应的目标模板标识以及目标参数标识。其中,与待发布消息对应的目标模板标识以及目标参数标识可以采用上述任一实施例所述的消息存储方法进行存储。
92.例如,当待发布消息为“小a您好!您订阅的电影《姜子牙》要上线了”时,目标模板标识为目标模板“xx您好!您订阅的电影《y》要上线了”的标识,目标参数标识为目标参数“xx”和“y”的标识。
93.步骤502,基于预先存储的模板对应关系,获得目标模板标识对应的目标模板内容。
94.其中,模板对应关系包括模板标识与模板内容之间的对应关系。模板对应关系可以采用上述任一实施例所述的消息存储方法进行存储。当模板对应关系通过在服务器中建立一个或多个消息模板库的方式来实现时,与模板内容对应的模板标识由消息模板库id和消息模板id组成。
95.这样,根据目标模板标识中的消息模板库id和消息模板id,就可以查询到与目标模板标识对应的目标模板内容,如“xx您好!您订阅的电影《y》要上线了”。该目标模板内容以及后续确定的与目标参数标识对应的目标参数的参数值相结合生成待发布消息。
96.步骤503,基于预先存储的参数对应关系,确定目标参数标识对应的目标参数的参数值。
97.步骤504,将目标参数的参数值插入目标模板内容中的预设位置,生成待发布消息。
98.其中,参数对应关系包括参数标识与参数值之间的对应关系,和/或参数标识与参数类型之间的对应关系。参数对应关系可以采用上述任一实施例所述的消息存储方法进行存储。
99.在具体实现中,服务器根据目标参数标识确定目标参数的参数值的实现方式可以有多种。
100.在一种可选的实现方式中,预设位置可以包括第一预设位置,目标参数标识包括第一参数标识,第一参数标识对应的第一参数为固定参数,在步骤503中确定目标参数标识
对应的目标参数的参数值的步骤,可以包括:基于预先存储的参数标识与参数值之间的对应关系,获得第一参数的参数值。本实现方式中步骤504具体可以包括:将第一参数的参数值插入第一预设位置。
101.当参数对应关系通过在服务器中建立一个或多个固定参数库的方式来实现时,与参数值具有对应关系的参数标识由固定参数库id和固定参数id组成。这样,根据第一参数标识中的固定参数库id和固定参数id,就可以查询到第一参数的参数值。
102.例如,当待发布消息为“小a您好!您订阅的电影《姜子牙》要上线了”时,第一参数的参数值为“姜子牙”。
103.在另一种可选的实现方式中,预设位置包括第二预设位置,目标参数标识包括第二参数标识,第二参数标识对应的第二参数为动态参数,在步骤503中确定目标参数标识对应的目标参数的参数值的步骤,可以包括:基于预先存储的参数标识与参数类型之间的对应关系,获得第二参数的参数类型;根据第二参数的参数类型,获得第二参数的参数值。本实现方式中步骤504具体可以包括:将第二参数的参数值插入第二预设位置。
104.当参数对应关系通过在服务器中建立一个或多个动态参数库的方式来实现时,本实现方式中,与参数类型具有对应关系的参数标识由动态参数库id和动态参数id组成。这样,根据第二参数标识中的动态参数库id和动态参数id,就可以查询到第二参数的参数类型。
105.例如,当待发布消息为“小a您好!您订阅的电影《姜子牙》要上线了”时,第二参数的参数类型为用户昵称。
106.在具体实现中,上述的根据第二参数的参数类型,获得第二参数的参数值的步骤具体可以包括:根据第二参数的参数类型以及第二参数的附加值,确定第二参数的参数值。其中,附加值根据第二参数的参数类型有具体的含义,比如当第二参数的参数类型为用户昵称时,附加值可以为用户标识,当第二参数的参数类型为圈子昵称时,附加值可以为圈子标识。因此,在确定第二参数的参数值的过程中,可以首先根据动态参数库id,查找到对应的动态参数库,然后再根据动态参数id确定第二参数的参数类型,第二参数的参数类型结合对应的附加值,查询对应的数据库,获得第二参数的参数值,如第二参数的参数值为“小a”。后续实施例会详细介绍第二参数的参数类型结合对应的附加值确定第二参数的参数值的具体过程。
107.本实施例提供的消息生成方法,首先响应于待发布消息的获取请求,获取预先存储的与待发布消息对应的目标模板标识以及目标参数标识,然后基于预先存储的模板对应关系,获得目标模板标识对应的目标模板内容,基于预先存储的参数对应关系,确定目标参数标识对应的目标参数的参数值;之后再将目标参数的参数值插入目标模板内容中的预设位置,生成待发布消息。通过预先存储的目标模板标识、目标参数标识、模板对应关系以及参数对应关系,生成待发布消息,可以实现订阅消息的个性化和多样化。
108.在具体实现中,当第二参数的参数类型为用户属性时,在步骤503之前还可以包括以下步骤:获取订阅用户的标识;相应地在步骤503中根据第二参数的参数类型,获得第二参数的参数值的步骤具体可以包括:根据预先存储的用户标识与用户属性的对应关系,获取订阅用户的标识对应的用户属性,从订阅用户的标识对应的用户属性中读取订阅用户的属性值,以作为第二参数的参数值。
109.其中,用户属性可以为用户昵称、用户年龄等属性。
110.在具体实现中,当第二参数的参数类型为用户昵称时,可以根据订阅用户的标识查询用户昵称数据库,从而获得第二参数的参数值,即订阅用户的标识对应的用户昵称内容。其中,用户昵称数据库中存储有用户标识与用户属性的对应关系。
111.需要说明的是,根据订阅用户的标识查询用户昵称数据库,进而获得第二参数的参数值的过程不是必需的,在实际应用中,如果用户发送的消息获取请求中已经包含有用户昵称,可以直接将消息获取请求中用户昵称的内容作为第二参数的参数值使用。
112.在具体实现中,当第二参数的参数类型为对象属性时,在步骤503之前还可以包括以下步骤:获取订阅对象的标识;相应地在步骤503中根据第二参数的参数类型,获得第二参数的参数值的步骤具体可以包括:根据预先存储的对象标识与对象属性的对应关系,获取订阅对象的标识对应的对象属性,从订阅对象的标识对应的对象属性中读取订阅对象的属性值,以作为第二参数的参数值。
113.其中,对象属性可以包括圈子昵称等。
114.在具体实现中,当第二参数的参数类型为圈子昵称时,可以根据订阅对象的标识查询圈子昵称数据库,从而获得第二参数的参数值,即订阅对象的标识对应的圈子昵称内容。其中,圈子昵称数据库中存储有对象标识与对象属性的对应关系。
115.需要说明的是,根据订阅对象的标识查询圈子昵称数据库,进而获得第二参数的参数值的过程不是必需的,在实际应用中,如果消息发布通知中已经包含有圈子昵称,可以直接将消息发布通知中圈子昵称的内容作为第二参数的参数值使用。
116.本实现方式中,基于预先构建的动态参数库结合附加值确定目标参数的参数值,可以充分满足不同订阅用户或订阅对象的个性化需求。
117.通过上述过程确定得到了目标模板内容以及第一参数、第二参数的参数值,之后可以将第一参数“y”的参数值“姜子牙”以及第二参数“xx”的参数值“小a”插入目标模板内容“xx您好!您订阅的电影《y》要上线了”中,就可以生成待发布消息:“小a您好!您订阅的电影《姜子牙》要上线了”。
118.进一步参考图6,示出了一种消息生成方法的具体实现流程,具体包括以下步骤:
119.步骤1:根据消息模板库id,查询到消息模板库。
120.步骤2:根据消息模板id,在消息模板库中查询到消息内容和格式化参数。
121.步骤3:判断格式化参数的数量是否大于0?若否,则执行步骤4;若是,则执行步骤5。
122.步骤4:返回消息内容。该消息内容构成待发布消息。
123.步骤5:设置m=0。
124.步骤6:判断m<格式化参数的数量是否成立?若否,则执行步骤14;若是,则执行步骤7。
125.步骤7:取出第m个格式化参数。其中,格式化参数可以按照在消息内容中的先后位置进行编号,第m个格式化参数例如可以是位于消息内容中第m个预设位置的格式化参数。
126.步骤8:判断该参数是否为固定参数?若是,则依次执行步骤9、步骤10和步骤13;若否,则依次执行步骤11、步骤12和步骤13。
127.步骤9:根据固定参数库id查找到固定参数库。
128.步骤10:根据固定参数id在固定参数库中查找到参数值。
129.步骤11:根据动态参数库id查找到动态参数库。
130.步骤12:根据动态参数id在动态参数库中的参数类型,结合附加值,查找到参数值。
131.步骤13:记录实际的参数值,m++,执行步骤6。其中,m++表示m=m+1。
132.步骤14:对消息内容做格式化,用实际参数值替代格式化参数。
133.步骤15:返回格式化后的消息内容。该格式化后的消息内容构成待发布消息。
134.进一步参考图7,作为对上述各图所示方法的实现,本申请提供了一种消息存储装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
135.如图7所示,本实施例所述的消息存储装置包括:
136.对应关系存储模块701,被配置为建立并存储模板对应关系以及参数对应关系,所述模板对应关系包括模板标识与模板内容之间的对应关系,所述参数对应关系包括以下至少之一:参数标识与参数值之间的对应关系以及参数标识与参数类型之间的对应关系;
137.标识获取模块702,被配置为响应于消息发布通知,获取与待发布消息对应的目标模板标识以及目标参数标识;
138.标识存储模块703,被配置为存储所述目标模板标识以及所述目标参数标识,所述目标模板标识、所述目标参数标识、所述模板对应关系以及所述参数对应关系用于生成所述待发布消息。
139.在一种可选的实现方式中,所述对应关系存储模块701包括:
140.模板库建立单元,被配置为建立消息模板库,所述消息模板库包括消息模板,所述消息模板包括模板内容,与所述模板内容具有对应关系的模板标识由所述消息模板库的标识和所述消息模板的标识构成。
141.在一种可选的实现方式中,所述对应关系存储模块701包括:
142.固定参数库建立单元,被配置为建立固定参数库,所述固定参数库包括固定参数的参数值,与所述参数值具有对应关系的参数标识由所述固定参数库的标识和所述固定参数的标识构成;和/或,
143.动态参数库建立单元,被配置为建立动态参数库,所述动态参数库包括动态参数的参数类型,与所述参数类型具有对应关系的参数标识由所述动态参数库的标识和所述动态参数的标识构成。
144.本实施例中,基于订阅消息和预约消息具有相似性的特点,对应关系存储模块701建立并存储了模板对应关系以及参数对应关系,其中,模板对应关系为模板标识与模板内容之间的对应关系,参数对应关系为参数标识与参数值和/或参数类型之间的对应关系;标识获取模块702响应于消息发布通知,获取与待发布消息对应的目标模板标识以及目标参数标识;标识存储模块703存储所述目标模板标识以及所述目标参数标识,所述目标模板标识、所述目标参数标识、所述模板对应关系以及所述参数对应关系用于生成所述待发布消息。在生成待发布消息时,根据预先存储的目标模板标识、目标参数标识、模板对应关系以及参数对应关系,就可以针对多个订阅用户生成个性化的待发布消息。因此,本方案在存储了模板对应关系以及参数对应关系的基础上,针对多个订阅用户,只需存储一份目标模板
标识以及目标参数标识即可,无需对每个订阅用户的个性化订阅消息分别进行存储,从而可以节省存储资源,降低成本。
145.可以理解的是,该消息存储装置中记载的诸模块与图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于消息存储装置及其中包含的模块,在此不再赘述。
146.进一步参考图8,作为对上述各图所示方法的实现,本申请提供了一种消息生成装置的一个实施例,该装置实施例与图5所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
147.如图8所示,本实施例所述的消息生成装置包括:
148.标识获取模块801,被配置为响应于待发布消息的获取请求,获取预先存储的与所述待发布消息对应的目标模板标识以及目标参数标识;
149.模板获取模块802,被配置为基于预先存储的模板对应关系,获得所述目标模板标识对应的目标模板内容;
150.参数获取模块803,被配置为基于预先存储的参数对应关系,确定所述目标参数标识对应的目标参数的参数值;
151.消息生成模块804,被配置为将所述目标参数的参数值插入所述目标模板内容中的预设位置,生成所述待发布消息。
152.在一种可选的实现方式中,所述预设位置包括第一预设位置,所述目标参数标识包括第一参数标识,所述第一参数标识对应的第一参数为固定参数,所述参数获取模块803具体被配置为:
153.基于预先存储的参数标识与参数值之间的对应关系,获得所述第一参数的参数值;
154.所述消息生成模块804具体被配置为:
155.将所述第一参数的参数值插入所述第一预设位置。
156.在一种可选的实现方式中,所述预设位置包括第二预设位置,所述目标参数标识包括第二参数标识,所述第二参数标识对应的第二参数为动态参数,所述参数获取模块803具体被配置为:
157.基于预先存储的参数标识与参数类型之间的对应关系,获得所述第二参数的参数类型;
158.根据所述第二参数的参数类型,获得所述第二参数的参数值;
159.所述消息生成模块804具体被配置为:
160.将所述第二参数的参数值插入所述第二预设位置。
161.在一种可选的实现方式中,所述第二参数的参数类型为用户属性,所述装置还包括:
162.用户标识获取模块,被配置为获取订阅用户的标识;
163.所述参数获取模块803具体被配置为:
164.根据预先存储的用户标识与所述用户属性的对应关系,获取所述订阅用户的标识对应的用户属性,从所述订阅用户的标识对应的用户属性中读取所述订阅用户的属性值,以作为所述第二参数的参数值。
165.在一种可选的实现方式中,所述第二参数的参数类型为对象属性,所述装置还包括:
166.对象标识获取模块,被配置为获取订阅对象的标识;
167.所述参数获取模块803具体被配置为:
168.根据预先存储的对象标识与所述对象属性的对应关系,获取所述订阅对象的标识对应的对象属性,从所述订阅对象的标识对应的对象属性中读取所述订阅对象的属性值,以作为所述第二参数的参数值。
169.本实施例中,标识获取模块801响应于待发布消息的获取请求,获取预先存储的与待发布消息对应的目标模板标识以及目标参数标识;模板获取模块802基于预先存储的模板对应关系,获得目标模板标识对应的目标模板内容;参数获取模块803基于预先存储的参数对应关系,确定目标参数标识对应的目标参数的参数值;消息生成模块804将目标参数的参数值插入目标模板内容中的预设位置,生成待发布消息。通过预先存储的目标模板标识、目标参数标识、模板对应关系以及参数对应关系,生成待发布消息,可以实现订阅消息的个性化和多样化。
170.可以理解的是,该消息生成装置中记载的诸模块与图5描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于消息生成装置及其中包含的模块,在此不再赘述。
171.下面参考图9,其示出了适于用来实现本申请实施例的电子设备的计算机系统900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
172.如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram 903中,还存储有系统900操作所需的各种程序和数据。cpu 901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
173.以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
174.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。
计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
175.附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
176.描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元和训练单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
177.作为另一方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述操作执行方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read

only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
178.以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1