用于确定对象域名的方法、装置及电子设备与流程

未命名 07-22 阅读:121 评论:0


1.本公开涉及互联网技术领域,更具体地,涉及一种用于确定对象域名的方法、装置、电子设备、计算机可读存储介质和计算机程序产品。


背景技术:

2.在多图网站(如电商网站)中,图片地址拼接的一般的实践方式是:图片url(uniform resource locator,统一资源定位符)=图片域名+图片名称。为了实现多图网站的加载效率,多图网站通常支持多个域名访问,即,在图片名称不变的情况下,多图网站支持不同图片域名访问同一个图片。
3.现有技术中,在多图网站具有多个域名的情况下,多图网站确定图片url的方式如下:首先随机获取一个随机数,然后根据随机数确定可匹配的图片域名,最后将已匹配的图片域名与图片名称拼接起来,得到图片url。


技术实现要素:

4.本公开提供了一种用于确定对象域名的方法、装置及设备,能够缓解同一个对象名称匹配到不同的对象域名的技术问题,从而提高 cdn(content delivery network,内容分发网络)缓存利用率。
5.本公开的一个方面提供了一种用于确定对象域名的方法,包括:确定与对象名称对应的数字信息;确定与所述对象名称对应的对象域名数组的长度;以及根据所述数字信息和所述对象域名数组的长度,将所述对象域名数组中的一个对象域名确定为目标对象域名。
6.根据本公开的实施例,所述确定与对象名称对应的数字信息包括:确定与所述对象名称对应的字符串,所述字符串包括数字字符、英文字符、符号字符中的至少一个;根据预设规则,从所述字符串中选择至少一个目标字符;将每个所述目标字符转换为数字,得到多个数字;以及对所述多个数字进行排序,得到所述数字信息。
7.根据本公开的实施例,所述确定与所述对象名称对应的字符串包括:从所述对象名称中提取备选字符,所述备选字符包括英文字符;以及根据所述备选字符中的英文字符的大小写,确定与所述对象名称对应的所述字符串。
8.根据本公开的实施例,所述根据所述备选字符中的英文字符的大小写,确定与所述对象名称对应的所述字符串包括:将所述备选字符中的小写英文字符替换为大写英文字符,得到所述字符串。
9.根据本公开的实施例,在所述目标字符包括英文字符的情况下,所述将每个所述目标字符转换为数字包括:根据所述目标字符中的英文字符的大小写,将每个所述目标字符转换为数字。
10.根据本公开的实施例,所述根据所述目标字符中的英文字符的大小写,将每个所述目标字符转换为数字包括:将所述目标字符中的小写英文字符替换为大写英文字符,得
到备选目标字符;以及将每个所述备选目标字符转换为数字。
11.根据本公开的实施例,所述根据预设规则,从所述字符串中选择至少一个目标字符包括:在确定所述字符串中的字符数量小于或等于预设数量的情况下,将所述字符串中的全部字符确定为选取的所述目标字符;在确定所述字符串中的字符数量大于所述预设数量的情况下,将所述字符串中的全部字符按照顺序划分为所述预设数量个第一子集和一个第二子集,并从每一个所述第一子集中选取一个字符作为所述目标字符;其中,所述预设数量个第一子集中的字符数量相同,所述第二子集的字符数量少于所述第一子集的字符数量。
12.根据本公开的实施例,所述从每一个所述第一子集中选取一个字符作为所述目标字符包括:从每一个所述第一子集中选取具有相同顺序的字符作为所述目标字符。
13.根据本公开的实施例,所述确定与对象名称对应的数字信息包括:按照顺序从所述对象名称中选择数字字符,得到所述数字信息。
14.根据本公开的实施例,所述根据所述数字信息和所述对象域名数组的长度,将所述对象域名数组中的一个对象域名确定为目标对象域名包括:确定所述数字信息对所述对象域名数字的长度取余的余数;以及根据所述余数将所述对象域名数组中的一个对象域名确定为所述目标对象域名。
15.本公开的另一个方面提供了一种用于确定对象域名的装置,包括:数字信息确定模块、长度确定模块和目标对象域名确定模块;其中,数字信息确定模块用于确定与对象名称对应的数字信息;长度确定模块用于确定对象域名数组的长度;目标对象域名确定模块用于根据所述数字信息和所述对象域名数组的长度,将所述对象域名数组中的一个对象域名确定为目标对象域名。
16.本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;还包括用于存储一个或多个程序的存储器;其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的用于确定对象域名的方法。
17.本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现本公开实施例所述的方法。
18.本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现本公开实施例所述的方法。
19.根据本公开的实施例,由于同一个对象的对象名称固定不变,并且通过对象名称确定的数字信息唯一,因此同一个对象与固定的对象域名相匹配。因此,本公开实施例的方案能够提高内容分发网络cdn 缓存利用率。
附图说明
20.通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
21.图1示意性示出了可以应用本公开的用于确定对象域名的方法和装置的示例性系统架构;
22.图2示意性示出了根据本公开实施例的用于确定对象域名的方法的流程图;
23.图3示意性示出了根据本公开实施例的确定与对象名称对应的数字信息的流程
图;
24.图4示意性示出了根据本公开实施例的确定与对象名称对应的字符串的流程图;
25.图5示意性示出了根据本公开实施例的根据备选字符中的英文字符的大小写,确定与对象名称对应的字符串的流程图;
26.图6示意性示出了根据本公开实施例的将每个目标字符转换为数字的流程图;
27.图7示意性示出了根据本公开实施例的根据目标字符中的英文字符的大小写,将每个目标字符转换为数字的流程图;
28.图8示意性示出了根据本公开实施例的根据预设规则,从字符串中选择至少一个目标字符的流程图;
29.图9示意性示出了根据本公开实施例的用于确定对象域名的方法的流程图;
30.图10示意性示出了根据本公开实施例的确定目标对象域名的流程图;
31.图11示意性示出了根据本公开实施例的用于确定对象域名的方法的流程图;
32.图12示意性示出了根据本公开实施例的用于确定对象域名的装置的框图;以及
33.图13示意性示出了根据本公开实施例的适于实现用于确定对象域名的方法的电子设备的框图。
具体实施方式
34.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
35.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
36.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
37.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释 (例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有 b和c、和/或具有a、b、c的系统等)。
38.在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:由于每次访问同一个图片时,需要基于获取到的随机数来确定图片域名,因此同一个图片可以与多个图片域名相匹配,并且同一个图片每一次匹配到的图片域名都是随机的,即,不同的用户访问时,同一个图片名称会匹配到不同的图片域名。
39.一般电商网站对于图片的访问,会增加cdn缓存来提升图片加载效率。但按照现有确定图片url的方式,由于图片匹配到的图片域名是随机的,同时图片url根据图片域名确定,因此不同用户访问到的图片url地址不一样,降低了cdn缓存的利用率,也增加了cdn的
数据量,降低了图片加载速度,也增加了网站运营成本。
40.图1示意性示出了根据本公开实施例的可以应用该用于确定对象域名的方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
41.如图1所示,根据该实施例的系统架构100可以包括终端设备101、 102、103,网络104和服务器105。网络104用以在终端设备101、102、 103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
42.用户可以使用终端设备101、102、103通过网络104与服务器105 交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
43.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
44.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
45.需要说明的是,本公开实施例所提供的用于确定对象域名的方法一般可以由服务器105执行。相应地,本公开实施例所提供的用于确定对象域名的装置一般可以设置于服务器105中。本公开实施例所提供的用于确定对象域名的方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用于确定对象域名的装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。或者,本公开实施例所提供的用于确定对象域名的方法也可以由终端设备101、102、或103执行,或者也可以由不同于终端设备101、102、或103的其他终端设备执行。相应地,本公开实施例所提供的用于确定对象域名的装置也可以设置于终端设备101、102、或103中,或设置于不同于终端设备101、102、或103的其他终端设备中。
46.例如,对象名称和对象域名数组可以存储在终端设备101、102、或 103中的任意一个(例如,终端设备101,但不限于此)之中,或者存储在外部存储设备上并可以导入到终端设备101中。然后,终端设备101 可以在本地执行本公开实施例所提供的用于确定对象域名的方法,或者将对象名称和对象域名数组发送到其他终端设备、服务器、或服务器集群,并由接收该对象名称和对象域名数组的其他终端设备、服务器、或服务器集群来执行本公开实施例所提供的用于确定对象域名的方法。
47.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
48.图2示意性示出了根据本公开实施例的用于确定对象域名的方法的流程图。
49.如图2所示,该方法包括操作s210~s230。
50.在操作s210,确定与对象名称对应的数字信息。
51.例如,对象可以指图片、动图或者视频等类型的文件。对象名称可以仅包括文件名
称的本身内容,并忽略扩展名。对象名称也可以同时包括文件名称的本身内容和扩展名。例如,一个对象为图片文件,图片文件的名称为jfs/t.jpg,则该图片文件的对象名称可以为jfs/t.jpg,也可以为jfs/t。考虑到扩展名不具备随机性,一般将文件名称忽略扩展名后作为对象名称。另外,虽然同一个对象确定的对象名称可以不同,但是每次处理过程中均采用同一个对象名称。数字信息包括至少一位数字。对象名称与数字信息相对应表示:与同一个对象名称对应的数字信息是唯一的,但是同一个数字信息可以同时对应多个对象名称。
52.在操作s220,确定与对象名称对应的对象域名数组的长度。
53.例如,对象域名数组可以是包含若干个对象域名的集合。对象域名数组的长度表示对象域名数组中对象域名的数量。例如,一个对象域名数组包括7个对象域名,则该对象域名数组的长度为7。
54.在操作s230,根据数字信息和对象域名数组的长度,将对象域名数组中的一个对象域名确定为目标对象域名。
55.例如,通过一些特定的运算规则,确定与数字信息对应的目标对象域名。运算规则可以包括计算数字信息对对象域名数字的长度取余的余数,然后根据余数确定对应的目标对象域名。运算规则也可以包括计算数字信息与对象域名数字的比值,然后根据比值确定对应的目标对象域名。
56.需要说明的是,本公开实施例在于把对象名称转换为对应的数字信息,对象名称和数字信息转换过程中使用的规则的内容并不重要,只要每次访问时由对象名称确定下来的数字信息固定不变即可。
57.综上可知,本公开实施例的方法根据对象名称确定目标对象域名,而非通过随机数确定目标对象域名。由于同一个对象的对象名称是固定不变的,因此与同一个对象相匹配的目标对象域名是固定的,而不是随机的,由此能够将对象名称匹配到对象域名数组中的同一个对象域名,以使对象域名与对象名称拼接得到的拼接对象url地址是稳定的,提高了cdn缓存的利用率。
58.本领域技术人员可以理解,图2中步骤的序号仅用于限定不同操作,而不应给看作是对于方法执行顺序的限制。
59.图3示意性示出了根据本公开实施例的确定与对象名称对应的数字信息的流程图。
60.如图3所示,操作s210可以包括操作s211~s214。
61.在操作s211,确定与对象名称对应的字符串;其中,字符串包括数字字符、英文字符、符号字符中的至少一个。
62.例如,数字字符包括0至9。英文字符包括大写英文字符和/或小写英文字符,分别包括a至z以及a至z。符号字符指对象支持的符号,例如斜杠(/)、百分号(%)等。由于字符串中的字符可以有多种类型,因此本公开实施例的方法适用于对象名称包括数字字符、英文字符和/ 或符号字符的情况。
63.在操作s212,根据预设规则,从字符串中选择至少一个目标字符。
64.例如,根据预设规则从字符串中选择至少一个目标字符,可以表示将字符串中排列在预设位置的字符选出作为目标字符。预设位置可以是基于特定函数计算出来的位置。例如,预设位置可以指前几位、后几位、全部奇数位、全部偶数位、预设值的整数倍位等位
置。
65.在操作s213,将每个目标字符转换为数字,得到多个数字。
66.例如,目标字符与数字之间具有对应关系,二者之间的对应关系可以为ascii码表或者unicode码表或者其他自定义的映射表。例如,对应关系采用ascii码表,则目标字符包括9、c、b、2时,四个目标字符对应的数字分别为57、67、66、50。
67.在操作s214,对多个数字进行排序,得到数字信息。
68.例如,对多个数字进行排序时,可以按照目标字符的排列顺序,如正序或者逆序,对数字进行排序。也可以采用先排奇数位目标字符对应的数字,再排偶数位目标字符对应的数字。例如,当目标字符包括9、 c、b、2,且四个目标字符对应的数字分别为57、67、66、50时,采用正序排列得到的数字信息为57676650,采用逆序排列得到的数字信息 50666757,采用其他排列方式得到的数字信息也可以为57666750。一般情况下,为了简便,多个数字采用正序作为排列顺序。
69.需要说明的是,目标字符的数量需要根据目标字符对应的数字和计算机系统支持的最大数字确定。例如,对于32位计算机,数字信息可以为8位数字,如果每个目标字符转换的数字为两位数,则可以选择四个目标字符。可以理解的,三个目标字符同样适用于32位计算机。再例如,对于64位计算机,数字信息可以为9位数字。
70.图4示意性示出了根据本公开实施例的确定与对象名称对应的字符串的流程图。
71.如图4所示,操作s211可以包括操作s2111~s2112。
72.在操作s2111,从对象名称中提取备选字符,备选字符包括英文字符。
73.例如,从对象名称中提取备选字符时,可以是将对象名称中的每一个字符按照顺序进行提取。也可以是仅从对象名称中提取部分字符,例如,从对象名称中提取全部数字字符,或者提取全部大写英文字符,或者提取全部符号字符,或者是提取特定位置的字符。
74.在操作s2112,根据备选字符中的英文字符的大小写,确定与对象名称对应的字符串。
75.例如,考虑到ascii码表中,大写英文字符与小写英文字符对应的数字不同,例如大写英文字符a对应的数字为65,小写英文字符a对应的数字为97。因此可以将备选字符中的每一个小写英文字符转换为对应的大写英文字符,或者将每一个大写英文字符转换为对应的小写英文字符,这样确定的字符串中的字符均为大写字符或均为小写字符。因此在目标字符包括英文字符的情况下,从字符串中选取的目标字符也均为大写字符或均为小写字符,映射表中可以省略大写英文字符和小写英文字符之一,从而能够减少映射表中的数据数量,提高目标字符转换成数字的效率。
76.图5示意性示出了根据本公开实施例的根据备选字符中的英文字符的大小写,确定与对象名称对应的字符串的流程图。
77.如图5所示,操作s2112可以包括操作s21121。
78.在操作s21121,将备选字符中的小写英文字符替换为大写英文字符,得到字符串。
79.例如,以ascii码表为例,大写英文字符对应的数字是两位数,小写英文字符中的d至z对应的数字是三位数,因此将小写英文字符替换为大写英文字符后,从字符串中选择的目标字符均对应两位数,数字信息的位数更少,这样得到的数字信息更容易小于或等于计算机系统支持的最大数字。例如,确定了四个目标字符,且目标字符只包括数字和大写英文
字符,由于数字字符0至9对应的ascii码为两位数,大写英文字符a至z的ascii码也为2位数,则四个目标字符转换为数字信息为8位数字,即使在32位计算机上,也未超过系统支持的最大数字。
80.图6示意性示出了根据本公开实施例的将每个目标字符转换为数字的流程图。
81.如图6所示,在目标字符包括英文字符的情况下,操作s213可以包括操作s2131。
82.在操作s2131,根据目标字符中的英文字符的大小写,将每个目标字符转换为数字。
83.例如,基于与上文相同的考虑,由于常用的映射表(如ascii码表)中,大写英文字符与小写英文字符对应的数字不同,因此可以将目标字符中的大小写统一,此时映射表中可以省略大小写英文字符中之一,减少映射表中的数据数量,提高目标字符转换成数字的效率。
84.图7示意性示出了根据本公开实施例的操作s2131中根据目标字符中的英文字符的大小写,将每个目标字符转换为数字的流程图。
85.如图7所示,操作s2131可以包括操作s21311~s21312。
86.在操作s21311,将目标字符中的小写英文字符替换为大写英文字符,得到备选目标字符;
87.在操作s21312,将每个备选目标字符转换为数字。
88.例如,以ascii码表为例,将小写英文字符替换为大写英文字符后,由目标字符得到的数字信息的位数更少,更容易小于或等于计算机系统支持的最大数字。
89.需要说明的是,操作s2131与操作s2111~s2112为并列方案,二者的区别在于对大写英文字符和小写英文字符进行统一的时间不同,可以选择其中之一来实现根据本公开实施例的方法。对于采用操作 s2131的方案,先确定字符串并选择目标字符,然后针对目标字符中英文字符进行大小写的统一。对于操作s2111~s2112,先针对英文字符进行大小写统一,得到大小写统一的字符串。
90.图8示意性示出了根据本公开实施例的根据预设规则,从字符串中选择至少一个目标字符的流程图。
91.如图8所示,操作s212可以包括操作s2121~s2123。
92.在操作s2121,判断字符串中的字符数量是否大于预设数量,若是,则执行操作s2122;若否,则执行操作s2123。
93.例如,需要根据目标字符对应的数字和计算机系统支持的最大数字确定预设数量,使得与目标字符对应的数字信息不超过计算机支持的最大数字。例如,对于32位计算机,预设数量可以为4。
94.在操作s2122,将字符串中的全部字符按照顺序划分为预设数量个第一子集和一个第二子集,并从每一个第一子集中选取一个字符作为目标字符。预设数量个第一子集中的字符数量彼此相同,且第二子集的字符数量少于第一子集的字符数量。
95.例如,将字符串中的全部字符按照排列的先后顺序划分为若干个子集,子集包括第一子集和第二子集,第二子集可以为空集,也可以为非空集。例如,字符串包括50个字符,预设数量为5,则具有5个第一子集,每一个第一子集包括10个字符,第二子集为空集。再例如,字符串共有53个字符,预设数量为5,则具有5个第一子集,每一个第一子集包括10个字
符,第二子集包括3个字符。
96.第二子集与第一子集的顺序不做限定,例如,可以将字符串中的前几个字符划入第二子集,也可以将后几个字符划入第二子集,也可以将中间几个字符划入第二子集。
97.从每一个第一子集中选取一个字符作为目标字符时,可以采用下文操作s21221的方案,使得目标字符在对应的第一子集中的排列位次均相同;也可以采用其他方案,如在第一子集中随机取一个字符,此时目标字符在对应的第一子集中的排列位次是随机的。
98.由于按照字符的排列顺序划分了多个第一子集,并且每个第一子集中取一个字符作为目标字符,因此目标字符可以较为分散的分布在字符串中。在实际应用中,考虑到一些对象名称之间的相似度比较高,导致两个对象名称中仅前几个或者后几个或者中间几个字符不同,其余字符均相同。为了区分对象名称相似的对象,根据本公开的技术方案,应尽可能使对象名称的数字信息不同。
99.在操作s2123,将字符串中的全部字符确定为选取的目标字符。
100.例如,当字符串中字符数量较少时,由于该字符串对应的数字不会超过计算机支持的最大数字,因此可以不对字符串进行处理,直接将字符串中的每一个字符确定为目标字符的字符串。
101.根据本公开实施例,操作s2122可以包括操作s21221。
102.在操作s21221,从每一个第一子集中选取具有相同顺序的字符作为目标字符。
103.例如,第一子集中的字符按照顺序依次排列,且排列顺序与字符串中各字符的先后顺序保持一致。将每个第一子集中排列在n位的字符选出作为目标字符,使得目标字符在对应的第一子集中的排列位次均相同。例如,第一子集有5个,每一个第一子集包括10个字符,则可以将每一个第一子集中的最后一位选出作为目标字符,或者将每一个第一子集中的第8位字符选出作为目标字符。采用本公开实施例的方案,可以进一步从字符串中较为分散的选取目标字符。
104.在实际应用中,可以通过函数实现操作s21221的方法,例如,在字符串中,计算x=math.floor(str2.length/n);其中,str2.length表示字符串的长度,n表示预设数量,math.floor表示向下取整函数,计算得到的x为整数,然后选择第x-1,2 x-1,3 x-1,...,n x-1等几个字符作为目标字符。需要注意的是,字符串的序号从0开始,例如,对于字符串jfst118146519,第0位字符为j,第3为字符为t。
105.图9示意性示出了根据本公开实施例的用于确定对象域名的方法的流程图。
106.如图9所示,操作s210可以包括操作s215。
107.在操作s215,按照顺序从对象名称中选择数字字符,得到数字信息。
108.例如,对于对象名称包含数字字符的情况,此时可以只从对象名称中选择数字字符,然后将数字字符进行排序,得到数字信息;其中,排序方式可以为按照字符在对象名称中的排列顺序。例如,对象名称为 jfst11814m6cx51,则数字信息可以为11814651。
109.可以理解的,在对象名称中数字字符的数量多余上文提到的预设数量的情况下,在从对象名称中选择数字字符之后,也可以通过其他方式来确定数字信息,例如按照上述操作s211~s214的方式,从数字字符中选择第一预设数量个(如4个)目标字符,然后按照映射表将目标字符转换为数字,对数字进行排序得到数字信息。也可以从数字字符中选择第二预设数量(如8个)的目标字符,省略按照映射表将数字字符转换为数字的过程,直接对目
标字符进行排序得到数字信息。
110.需要说明的是,仅从对象名称中选择数字字符来确定数字信息的方案,不适用于对象名称中不包含数字字符的情况。操作s215与操作 s211~s214为并列方案,可以选择其中之一来实现根据本公开实施例的方法。
111.图10示意性示出了根据本公开实施例的确定目标对象域名的流程图。
112.如图10所示,操作s230可以包括操作s231~s232。
113.在操作s231,确定数字信息对对象域名数字的长度取余的余数。
114.在操作s232,根据余数将对象域名数组中的一个对象域名确定为目标对象域名。
115.例如,由于在多图网站等类型网站中,对象的数量一般要多于对象域名的数量,因此,为了在一定的随机程度下,将多个对象较为均匀的随机分布在多个对象域名中,来提高对象的加载速度。可以计算数字信息对对象域名数字的长度的余数,由于对象域名数字的长度为 m时,取余运算得到的结果包括0,1,2,...,m-1,即取余运算的结果数量与对象域名数字的长度相同,因此可以使余数与对象域名数组中的对象域名一一对应,从而将对象分散到各个对象域名下。例如,对象域名总数有6个,数字信息57676650,则取余的结果为0,该对象匹配到与余数为0对应的对象域名。
116.图11示意性示出了根据本公开实施例的用于确定对象域名的方法的流程图。
117.为了方便理解用于确定对象域名的方法,下面以一个实施例进行具体说明。一个对象为图片文件,对象名称为 jfs/t1/181465/1/9802/150947/60cc5c24e636ae48b/f7360d76a7aa2aea.jpg。确定该对象名称的对象域名的过程如下:首先截取对象名称的本身内容,忽略对象的扩展名,得到字符串str1,即 jfs/t1/181465/1/9802/150947/60cc5c24e636ae48b/f7360d76a7aa2aea。然后执行操作s1101,对字符串str1进行简化,例如从字符串str1中提取数字字符0至9、大写英文字符a至z和小写英文字符a至z。然后执行操作在操作s1102,例如将小写英文字符转换为大写英文字符,组成新的字符串str2,即,
118.jfst11814651980215094760cc5c24e636ae48bf7360d76a7aa2 aea,
119.可以看出,字符串str2中包括数字字符和大写英文字符。然后执行操作s1103,假设预设数量为4,即需要从字符串str2中选择4个目标字符,由于字符串str2的长度大于预设数量,因此执行操作s1104,例如计算a=str2.lengh/4,再对a进行向下取整,得到整数x,然后再获取第x-1,2x-1,3x-1,4x-1等几个字符,拼接得到字符串str3。经过计算可知a=13.75,x=13,因此字符串str3为9cb2。然后执行操作 s1106,例如将字符串str3中的字符逐个转换为ascii码。然后执行操作s1107,例如将这些ascii码拼接为新的字符串str4,得到数字信息 str4为57676650。然后执行操作s1108,假设对象域名数组的长度为6。然后执行操作s1109,例如计算数字信息str4对对象域名数组长度取余,取余的结果为0。然后执行操作s1110,例如通过余数0确定对象域名数组中的一个对象域名为目标对象域名。在确定目标对象域名之后,将目标对象域名与对象名称进行拼接即可得到拼接对象url地址。
120.为了验证上文中用于确定对象域名的方法,下面以一个实施例进行具体说明。
121.假设实际应用中的15个对象名称分别为:
122.jfs/t1/113589/24/11332/4897/5efbf3fee705d87db/e5c12d5e943266b9 .png;
123.jfs/t1/195778/40/3028/153295/609e2e3ee00bd596d/4f013eaf3fbb723 0.jpg;
124.jfs/t1/140012/8/1804/3641/5efbf318e38bd5dad/0db99d859ab16ce9.p ng;
125.jfs/t1/116602/7/11200/3796/5efbf375ebba41029/f07cc166f368fa05.p ng;
126.jfs/t1/179511/33/4023/3422/609e0d45ea495a996/3783165b48cf1e08 .png;
127.jfs/t1/131663/33/3380/3674/5efbf50fef79cf314/af4b57d2383e605d.p ng;
128.jfs/t1/123730/37/5924/4189/5efbf567e0a226121/d04df7c74c87cf68. png;
129.jfs/t1/125193/15/5993/3443/5efbf5dbea3327124/a4282d5cb2879c8b. png;
130.jfs/t1/133947/24/3428/4213/5efbf625e7e1b4e98/95fda84d8748f88d. png;
131.jfs/t1/118396/30/11271/2692/5efbf680eb3a3cf32/c3e85c4d99746400 .png;
132.jfs/t1/123571/19/6008/3747/5efbf6b2e03153a36/9ddc9036ba1c11a1. png;
133.jfs/t1/115003/18/11199/3519/5efbf6eaee59cb7f6/dab44230606cd112. png;
134.jfs/t1/116056/30/11288/4223/5efbf753ee7cf2cd7/3977b5fe42b136e4. png;
135.jfs/t1/192211/36/9719/180634/60d2ad23e65bcabab/1ea73dbeb842fe 9e.jpg;
136.jfs/t1/179114/11/10653/191671/60d0a058e787373aa/5bc2b6fcf6fcd5 1b.jpg。
137.同时,假设对象域名数组中的对象域名共有6个,分别为:
138.img0.someimg.com
139.img1.someimg.com
140.img2.someimg.com
141.img3.someimg.com
142.img4.someimg.com
143.img5.someimg.com
144.根据用于确定对象域名的方法,15个对象名称和目标对象域名的匹配关系如下表1,对象域名数组中各个对象域名和其对应的匹配次数如表2。
145.表1
146.序号对象名称目标对象域名1jfs/t1/113589/24/11332/4897/5efbf3fee705d87db/e5c12d5e943266b9.pngimg4.someimg.com2jfs/t1/195778/40/3028/153295/609e2e3ee00bd596d/4f013eaf3fbb7230.jpgimg0.someimg.com3jfs/t1/140012/8/1804/3641/5efbf318e38bd5dad/0db99d859ab16ce9.pngimg3.someimg.com4jfs/t1/116602/7/11200/3796/5efbf375ebba41029/f07cc166f368fa05.pngimg5.someimg.com5jfs/t1/179511/33/4023/3422/609eod45ea495a996/3783165b48cf1e08.pngimg3.someimg.com6jfs/t1/131663/33/3380/3674/5efbf50fef79cf314/af4b57d2383e605d.pngimg0.someimg.com7jfs/t1/123730/37/5924/4189/5efbf567e0a226121/d04df7c74c87cf68.pngimg2.someimg.com8jfs/t1/125193/15/5993/3443/5efbf5dbea3327124/a4282d5cb2879c8b.pngimg3.someimg.com9jfs/t1/133947/24/3428/4213/5efbf625e7e1b4e98/95fda84d8748f88d.pngimg4.someimg.com10jfs/t1/118396/30/11271/2692/5efbf680eb3a3cf32/c3e85c4d99746400.pngimg2.someimg.com11jfs/t1/123571/19/6008/3747/5efbf6b2e03153a36/9ddc9036ba1c11a1.pngimg5.someimg.com12jfs/t1/115003/18/11199/3519/5efbf6eaee59cb7f6/dab44230606cd112.pngimg4.someimg.com13jfs/t1/116056/30/11288/4223/5efbf753ee7cf2cd7/3977b5fe42b136e4.pngimg1.someimg.com14jfs/t1/192211/36/9719/180634/60d2ad23e65bcabab/1ea73dbeb842fe9e.jpgimg5.someimg.com15jfs/t1/179114/11/10653/191671/60doa058e787373aa/5bc2b6fcf6fcd51b.jpgimg1.someimg.com
147.表2
148.目标对象域名匹配次数img0.someimg.com2
img1.someimg.com2img2.someimg.com2img3.someimg.com3img4.someimg.com3img5.someimg.com3
149.可以看出,每个对象名称都稳定的对应到其中一个对象域名,并且各个对象域名匹配到的次数相近,从而提升对象加载效率和cdn利用率。
150.图12示意性示出了根据本公开的实施例的用于确定对象域名的装置的框图。
151.如图12所示,用于确定对象域名的装置可以包括数字信息确定模块、长度确定模块和目标对象域名确定模块。其中,数字信息确定模块用于确定与对象名称对应的数字信息;长度确定模块用于确定对象域名数组的长度;目标对象域名确定模块用于根据数字信息和对象域名数组的长度,将对象域名数组中的一个对象域名确定为目标对象域名。
152.根据本公开的实施例,上述数字信息确定模块可以包括字符串确定子模块、目标字符选择子模块、数字转换子模块以及排序子模块;其中,字符串确定子模块用于确定与对象名称对应的字符串,字符串包括数字字符、英文字符、符号字符中的至少一个;目标字符选择子模块用于根据预设规则,从字符串中选择至少一个目标字符;数字转换子模块用于将每个目标字符转换为数字,得到多个数字;排序子模块用于对多个数字进行排序,得到数字信息。
153.根据本公开的实施例,上述字符串确定子模块包括备选字符提取单元和第一字符串确定单元;其中,备选字符提取单元用于从对象名称中提取备选字符,备选字符包括英文字符;第一字符串确定单元根据备选字符中的英文字符的大小写,确定与对象名称对应的字符串。
154.根据本公开的实施例,上述第一字符串确定单元包括第一字符串确定子单元,第一字符串确定子单元用于将备选字符中的小写英文字符替换为大写英文字符,得到字符串。
155.根据本公开的实施例,上述数字转换子模块还用于根据目标字符中的英文字符的大小写,将每个目标字符转换为数字。
156.根据本公开的实施例,上述数字转换子模块包括备选目标字符确定单元和备选目标字符转换单元;其中,备选目标字符确定单元用于将目标字符中的小写英文字符替换为大写英文字符,得到备选目标字符;备选目标字符转换单元用于将每个备选目标字符转换为数字。
157.根据本公开的实施例,上述目标字符选择子模块包括第一目标字符选取单元和第二目标字符选取单元;其中,第一目标字符选取单元用于在确定字符串中的字符数量小于或等于预设数量的情况下,将字符串中的全部字符确定为选取的目标字符;第二目标字符选取单元用于在确定字符串中的字符数量大于预设数量的情况下,将字符串中的全部字符按照顺序划分为预设数量个第一子集和一个第二子集,并从每一个第一子集中选取一个字符作为目标字符;其中,预设数量个第一子集中的字符数量相同,第二子集的字符数量少于第一子集的字符数量。
158.根据本公开的实施例,上述第二目标字符选取单元包括目标字符选取子单元,目
标字符选取子单元用于从每一个第一子集中选取具有相同顺序的字符作为目标字符。
159.根据本公开的实施例,上述数字信息确定模块包括数字信息确定子模块,数字信息确定子模块用于按照顺序从对象名称中选择数字字符,得到数字信息。
160.根据本公开的实施例,上述目标对象域名确定模块包括取余子模块和目标对象域名确定子模块;其中,取余子模块用于确定数字信息对对象域名数字的长度取余的余数;目标对象域名确定子模块用于根据余数将对象域名数组中的一个对象域名确定为目标对象域名。
161.需要说明的是,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,本公开在此不再赘述。
162.根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
163.例如,模数字信息确定模块、长度确定模块、目标对象域名确定模块、字符串确定子模块、目标字符选择子模块、数字转换子模块、排序子模块、数字信息确定子模块、取余子模块、目标对象域名确定子模块、备选字符提取单元、第一字符串确定单元、备选目标字符确定单元、备选目标字符转换单元、第一目标字符选取单元、第二目标字符选取单元、第一字符串确定子单元、目标字符选取子单元块/单元/子单元中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,数字信息确定模块、长度确定模块、目标对象域名确定模块、字符串确定子模块、目标字符选择子模块、数字转换子模块、排序子模块、数字信息确定子模块、取余子模块、目标对象域名确定子模块、备选字符提取单元、第一字符串确定单元、备选目标字符确定单元、备选目标字符转换单元、第一目标字符选取单元、第二目标字符选取单元、第一字符串确定子单元、目标字符选取子单元中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数字信息确定模块、长度确定模块、目标对象域名确定模块、字符串确定子模块、目标字符选择子模块、数字转换子模块、排序子模块、数字信息确定子模块、取余子模块、目标对象域名确定子模块、备选字符提取单元、第一字符串确定单元、备选目标字符确定单元、备选目标字符转换单元、第一目标字符选取单元、第二目标字符选取单元、第一字符串确定子单元、目标字符选取子单元中的至少一个可以至少被部分地实现为计算
机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
164.图13示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。图13示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
165.如图13所示,根据本公开实施例的电子设备400包括处理器401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408 加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。处理器401例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器401还可以包括用于缓存用途的板载存储器。处理器401 可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
166.在ram 403中,存储有电子设备400操作所需的各种程序和数据。处理器401、rom 402以及ram 403通过总线404彼此相连。处理器 401通过执行rom 402和/或ram 403中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom402和ram 403以外的一个或多个存储器中。处理器401也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
167.根据本公开的实施例,电子设备400还可以包括输入/输出(i/o) 接口405,输入/输出(i/o)接口405也连接至总线404。系统400还可以包括连接至i/o接口405的以下部件中的一项或多项:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd) 等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分 409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
168.根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质 411被安装。在该计算机程序被处理器401执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
169.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
170.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或
者与其结合使用。
171.例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 402和/或ram 403和/或rom 402和ram 403以外的一个或多个存储器。
172.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时电可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
173.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
174.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

技术特征:
1.一种用于确定对象域名的方法,包括:确定与对象名称对应的数字信息;确定与所述对象名称对应的对象域名数组的长度;以及根据所述数字信息和所述对象域名数组的长度,将所述对象域名数组中的一个对象域名确定为目标对象域名。2.根据权利要求1所述的方法,其中,所述确定与对象名称对应的数字信息包括:确定与所述对象名称对应的字符串,所述字符串包括数字字符、英文字符、符号字符中的至少一个;根据预设规则,从所述字符串中选择至少一个目标字符;将每个所述目标字符转换为数字,得到多个数字;以及对所述多个数字进行排序,得到所述数字信息。3.根据权利要求2所述的方法,其中,所述确定与所述对象名称对应的字符串包括:从所述对象名称中提取备选字符,所述备选字符包括英文字符;以及根据所述备选字符中的英文字符的大小写,确定与所述对象名称对应的所述字符串。4.根据权利要求3所述的方法,其中,所述根据所述备选字符中的英文字符的大小写,确定与所述对象名称对应的所述字符串包括:将所述备选字符中的小写英文字符替换为大写英文字符,得到所述字符串。5.根据权利要求2所述的方法,其中,在所述目标字符包括英文字符的情况下,所述将每个所述目标字符转换为数字包括:根据所述目标字符中的英文字符的大小写,将每个所述目标字符转换为数字。6.根据权利要求5所述的方法,其中,所述根据所述目标字符中的英文字符的大小写,将每个所述目标字符转换为数字包括:将所述目标字符中的小写英文字符替换为大写英文字符,得到备选目标字符;以及将每个所述备选目标字符转换为数字。7.根据权利要求2至6任意一项所述的方法,其中,所述根据预设规则,从所述字符串中选择至少一个目标字符包括:在确定所述字符串中的字符数量小于或等于预设数量的情况下,将所述字符串中的全部字符确定为选取的所述目标字符;在确定所述字符串中的字符数量大于所述预设数量的情况下,将所述字符串中的全部字符按照顺序划分为所述预设数量个第一子集和一个第二子集,并从每一个所述第一子集中选取一个字符作为所述目标字符;其中,所述预设数量个第一子集中的字符数量相同,所述第二子集的字符数量少于所述第一子集的字符数量。8.根据权利要求7所述的方法,其中,所述从每一个所述第一子集中选取一个字符作为所述目标字符包括:从每一个所述第一子集中选取具有相同顺序的字符作为所述目标字符。9.根据权利要求1所述的方法,其中,所述确定与对象名称对应的数字信息包括:按照顺序从所述对象名称中选择数字字符,得到所述数字信息。10.根据权利要求1所述的方法,其中,所述根据所述数字信息和所述对象域名数组的长度,将所述对象域名数组中的一个对象域名确定为目标对象域名包括:
确定所述数字信息对所述对象域名数字的长度取余的余数;以及根据所述余数将所述对象域名数组中的一个对象域名确定为所述目标对象域名。11.一种用于确定对象域名的装置,包括:数字信息确定模块,用于确定与对象名称对应的数字信息;长度确定模块,用于确定对象域名数组的长度;以及目标对象域名确定模块,用于根据所述数字信息和所述对象域名数组的长度,将所述对象域名数组中的一个对象域名确定为目标对象域名。12.一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至10中任一项所述的方法。13.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至10中任一项所述的方法。14.一种计算机程序产品,包括计算机可执行指令,所述指令在被执行时用于实现权利要求1至10中任一项所述的方法。

技术总结
本公开提供了一种用于确定对象域名的方法、装置及电子设备,方法包括:确定与对象名称对应的数字信息;确定与对象名称对应的对象域名数组的长度;以及根据数字信息和对象域名数组的长度,将对象域名数组中的一个对象域名确定为目标对象域名。定为目标对象域名。定为目标对象域名。


技术研发人员:赵彦
受保护的技术使用者:北京京东世纪贸易有限公司
技术研发日:2022.01.06
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐